summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_look
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_look')
-rw-r--r--Completion/Unix/Command/_look17
1 files changed, 6 insertions, 11 deletions
diff --git a/Completion/Unix/Command/_look b/Completion/Unix/Command/_look
index b80a70824..825488c37 100644
--- a/Completion/Unix/Command/_look
+++ b/Completion/Unix/Command/_look
@@ -1,6 +1,6 @@
#compdef look
-local curcontext="$curcontext" state line
+local curcontext="$curcontext" state line ret=1
typeset -A opt_args
_arguments -C -s \
@@ -8,14 +8,9 @@ _arguments -C -s \
'-f[case insensitive]' \
'-d[dictionary order]' \
':string:->string' \
- ':dictionary file:_files' && return 0
+ ':dictionary file:_files' && ret=0
-case "$state" in
-string)
- if [[ -n "$PREFIX" ]]; then
- _wanted values expl 'word prefix' compadd - $(_call_program values $words[1] $PREFIX)
- else
- _message -e prefixes 'word prefix'
- fi
- ;;
-esac
+[[ -n "$state" && ! -prefix - ]] && _wanted values expl 'word prefix' \
+ compadd - $(_call_program words $words[1] '"$PREFIX"') && return
+
+return ret