diff options
Diffstat (limited to 'vis-complete')
| -rwxr-xr-x | vis-complete | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/vis-complete b/vis-complete index 398244f..255958d 100755 --- 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 '.*' \ |
