vis

a vi-like editor based on Plan 9's structural regular expressions

git clone https://9o.is/git/vis.git

commit bd8056ebf9e8745ff7ee6b2a39994c04c35a5709
parent fce0bef03aaa6b1571eea0c8a32375f6ccd831cb
Author: TwoFinger <Two-Finger@users.noreply.github.com>
Date:   Thu, 25 Jan 2018 20:13:23 +0200

vis-complete: Slight refactoring

Move the "case $PATTERN" block inside "if $COMPLETE_WORD" to make it
clear that it is specific only to the "else" branch.

Eliminate the $START variable - it was used only once, and using
dirname(1) directly is obvious enough.

Remove the comments inside the "case" block (explaining the "what") and
replaced them with a single comment explaining the "why".

Diffstat:
Mvis-complete | 19+++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)

diff --git a/vis-complete b/vis-complete @@ -28,32 +28,27 @@ while [ $# -gt 0 ]; do esac done -if [ $COMPLETE_WORD = 0 ]; then +if [ $COMPLETE_WORD = 1 ]; then + tr -cs '[:alnum:]_' '\n' | + grep "^$(basic_regex_quote "$PATTERN")." | + sort -u +else + # Expand to absolute path because of the -path option below. case $PATTERN in /*) - # An absolute path. This is fine. ;; '~'|'~/'*) - # Expand tilde to $HOME PATTERN=$HOME$(echo $PATTERN | tail -c +2) ;; *) - # A relaive path. Let's make it absolute. PATTERN=$PWD/$PATTERN ;; esac -fi -if [ $COMPLETE_WORD = 1 ]; then - tr -cs '[:alnum:]_' '\n' | - grep "^$(basic_regex_quote "$PATTERN")." | - sort -u -else - START=$(dirname "$PATTERN") # The first path condition rules out paths that start with "." unless # they start with "..". That way, hidden paths should stay hidden, but # non-normalised paths should still show up. - find "$START" \ + find $(dirname "$PATTERN") \ -name '.*' -prune \ -o \( \ ! -name '.*' \