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:
| M | vis-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 '.*' \