about summary refs log tree commit diff
path: root/Completion/Builtins
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Builtins')
-rw-r--r--Completion/Builtins/_bindkey39
-rw-r--r--Completion/Builtins/_compdef2
-rw-r--r--Completion/Builtins/_disable2
-rw-r--r--Completion/Builtins/_emulate2
-rw-r--r--Completion/Builtins/_enable2
-rw-r--r--Completion/Builtins/_fc45
-rw-r--r--Completion/Builtins/_hash4
-rw-r--r--Completion/Builtins/_print2
-rw-r--r--Completion/Builtins/_read2
-rw-r--r--Completion/Builtins/_unhash4
-rw-r--r--Completion/Builtins/_vars_eq2
-rw-r--r--Completion/Builtins/_which8
-rw-r--r--Completion/Builtins/_zcompile12
-rw-r--r--Completion/Builtins/_zle4
-rw-r--r--Completion/Builtins/_zpty4
-rw-r--r--Completion/Builtins/_zstyle9
16 files changed, 82 insertions, 61 deletions
diff --git a/Completion/Builtins/_bindkey b/Completion/Builtins/_bindkey
index 048d517f2..45471feb5 100644
--- a/Completion/Builtins/_bindkey
+++ b/Completion/Builtins/_bindkey
@@ -7,31 +7,34 @@
 #
 # Where appropriate, will complete keymaps instead of widgets.
 
-local state expl line curcontext="$curcontext"
+local state expl line curcontext="$curcontext" ret=1
 typeset -A opt_args
 
-_arguments -C -s \
-  '(-v -a -M -l -D -A -N)-e[select emacs keymap and bind it to main]' \
-  '(-e -a -M -l -D -A -N)-v[select viins keymap and bind it to main]' \
-  '(-e -v -M -l -D -A -N)-a[select vicmd keymap]' \
-  '(-e -v -a -l -D -A -N)-M[specify keymap to select]:keymap:->keymap' \
-  '(-e -v -a -M -D -A -N -m -r -s -R *)-l[list existing keymap names]' \
+_arguments -C -s -S \
+  '(-v -a -M -l -D -A -N -p)-e[select emacs keymap and bind it to main]' \
+  '(-e -a -M -l -D -A -N -p)-v[select viins keymap and bind it to main]' \
+  '(-e -v -M -l -D -A -N -p)-a[select vicmd keymap]' \
+  '(-e -v -a -l -D -A -N -p)-M[specify keymap to select]:keymap:->keymap' \
+  '(-e -v -a -M -D -A -N -m -p -r -s -R *)-l[list existing keymap names]' \
   '(-e -v -a -d -A -N -m -r -s -R *)-L[output in form of bindkey commands]' \
-  '(-e -v -a -l -D -A -N -m -r -s -R *)-d[delete existing keymaps and reset to default state]' \
-  '(-e -v -a -M -l -d -A -N -m -r -s -R *)-D[delete named keymaps]:*:keymap:->keymap' \
-  '(-e -v -a -M -l -L -d -D -N -m -r -s -R *)-A[create alias to keymap]:old-keymap:->keymap:new-keymap:->keymap' \
-  '(-e -v -a -M -l -L -d -D -A -m -r -s -R *)-N[create new keymap]:new-keymap:->keymap:old-keymap to copy:->keymap' \
-  '(-l -L -d -D -A -N -r -s -r -R *)-m[add builtin meta-key bindings to selected keymape]' \
-  '(-l -L -d -D -A -N -m -s *)-r[unbind specified in-strings]:*:in-string' \
-  '(-l -L -d -D -A -N -m -r *)-s[bind each in-string to each out-string]:*:key string' \
-  '(-e -v -a -M -l -L -d -D -A -N -m)-R[interpret in-strings as ranges]' \
-  '(-l -L -d -A -N -m -r -s)*::widgets:->widget' && return 0
+  '(-e -v -a -l -D -A -N -m -p -r -s -R *)-d[delete existing keymaps and reset to default state]' \
+  '(-e -v -a -M -l -d -A -N -m -p -r -s -R *)-D[delete named keymaps]:*:keymap:->keymap' \
+  '(-e -v -a -M -l -L -d -D -N -m -p -r -s -R *)-A[create alias to keymap]:old-keymap:->keymap:new-keymap:->keymap' \
+  '(-e -v -a -M -l -L -d -D -A -m -p -r -s -R *)-N[create new keymap]:new-keymap:->keymap:old-keymap to copy:->keymap' \
+  '(-l -L -d -D -A -N -p -r -s -r -R *)-m[add builtin meta-key bindings to selected keymape]' \
+  '(-e -v -a -M -d -D -A -N -m -r -s -R *)-p[list bindings which have given key sequence as a prefix]:key sequence' \
+  '(-l -L -d -D -A -N -m -p -s *)-r[unbind specified in-strings]:*:in-string' \
+  '(-l -L -d -D -A -N -m -p -r *)-s[bind each in-string to each out-string]:*:key string' \
+  '(-e -v -a -M -l -L -d -D -A -N -m -p)-R[interpret in-strings as ranges]' \
+  '(-l -L -d -A -N -m -p -r -s)*::widgets:->widget' && ret=0
 
 case $state in
   keymap)
-    _wanted -C -M keymaps expl keymap compadd -a keymaps
+    _wanted -C -M keymaps expl keymap compadd -a keymaps && ret=0
   ;;
   widget)
-    _wanted widgets expl widget compadd -M 'r:|-=* r:|=*' -k widgets
+    _wanted widgets expl widget compadd -M 'r:|-=* r:|=*' -k widgets && ret=0
   ;;
 esac
+
+return ret
diff --git a/Completion/Builtins/_compdef b/Completion/Builtins/_compdef
index ab7c30e92..eb1a2ebb6 100644
--- a/Completion/Builtins/_compdef
+++ b/Completion/Builtins/_compdef
@@ -3,7 +3,7 @@
 local state line expl list disp curcontext="$curcontext"
 typeset -A opt_args
 
-_arguments -C -s \
+_arguments -C -s -A "-*" -S \
   '(-d)-a[make function autoloadable]' \
   '(-d -p -P)-n[leave existing definitions intact]' \
   ':completion function:->cfun' \
diff --git a/Completion/Builtins/_disable b/Completion/Builtins/_disable
index b3c2632ed..0e27944c9 100644
--- a/Completion/Builtins/_disable
+++ b/Completion/Builtins/_disable
@@ -1,6 +1,6 @@
 #compdef disable
 
-_arguments -C -s \
+_arguments -C -s -A "-*" -S \
   "(-f -r)-a[act on aliases]:*:aliases:(${(k)aliases} ${(k)galiases})" \
   "(-a -r)-f[act on functions]:*:functions:(${(k)functions})" \
   "(-a -f)-r[act on reserved words]:*:reserved-words:(${(k)reswords})" \
diff --git a/Completion/Builtins/_emulate b/Completion/Builtins/_emulate
index 1c1f63cde..e562d6834 100644
--- a/Completion/Builtins/_emulate
+++ b/Completion/Builtins/_emulate
@@ -1,6 +1,6 @@
 #compdef emulate
 
-_arguments -C -s \
+_arguments -C -s -A "-*" \
   '-L[set local_options and local_traps as well]' \
   '-R[reset all options instead of only those needed for script portability]' \
   '::shell to emulate:(zsh sh ksh csh)'
diff --git a/Completion/Builtins/_enable b/Completion/Builtins/_enable
index 991286276..527423b3c 100644
--- a/Completion/Builtins/_enable
+++ b/Completion/Builtins/_enable
@@ -1,6 +1,6 @@
 #compdef enable
 
-_arguments -C -s \
+_arguments -C -s -A "-*" -S \
   "(-f -r)-a[act on aliases]:*:aliases:(${(k)dis_aliases})" \
   "(-a -r)-f[act on functions]:*:functions:(${(k)dis_functions})" \
   "(-a -f)-r[act on reserved words]:*:reserved-words:(${(k)dis_reswords})" \
diff --git a/Completion/Builtins/_fc b/Completion/Builtins/_fc
index cb3efe48f..40d88db27 100644
--- a/Completion/Builtins/_fc
+++ b/Completion/Builtins/_fc
@@ -1,27 +1,36 @@
-#compdef fc history
+#compdef fc history r
 
-local fc_common
+local expl fc_common fc_hist fc_r
 
-fc_common=( \
-  '(-A -R -W -I)-m[treat first argument as a pattern]' \
-  '(-A -R -W -I)-r[reverse order of the commands]' \
-  '(-A -R -W -I -e)-n[suppress line numbers]' \
-  '(-A -R -W -I -e -f -E -i)-d[print time-stamps]' \
-  '(-A -R -W -I -e -d -E -i)-f[mm/dd/yyyy format time-stamps]' \
-  '(-A -R -W -I -e -d -f -i)-E[dd.mm.yyyy format time-stamps]' \
-  '(-A -R -W -I -e -d -f -E)-i[yyyy-mm-dd format time-stamps]' \
-  '(-A -R -W -I -e)-D[print elapsed times]' \
+fc_common=(
+  '(-A -R -W -I)-r[reverse order of the commands]'
+  '(-A -R -W -I -e)-n[suppress line numbers]'
   '(-A -R -W -I)*::commands:_command_names -e' )
 
-if [[ $service = *history ]]; then
-  _arguments -C -s "$fc_common[@]"
-else
-  _arguments -C -s \
-    '(-A -R -W -I -e)-l[list resulting commands on stdout]' \
+fc_hist=( \
+  '(-A -R -W -I)-m[treat first argument as a pattern]'
+  '(-A -R -W -I -e -f -E -i)-d[print time-stamps]'
+  '(-A -R -W -I -e -d -E -i)-f[mm/dd/yyyy format time-stamps]'
+  '(-A -R -W -I -e -d -f -i)-E[dd.mm.yyyy format time-stamps]'
+  '(-A -R -W -I -e -d -f -E)-i[yyyy-mm-dd format time-stamps]'
+  '(-A -R -W -I -e)-D[print elapsed times]' )
+
+fc_r='(-A -R -W -I -e)-l[list resulting commands on stdout]'
+
+case $service in
+  history)
+    _arguments -C -s -S "$fc_common[@]" "$fc_hist[@]" && return 0
+  ;;
+  r)
+    _arguments -C -s -S "$fc_common[@]" "$fc_r" && return 0
+  ;;
+  *)
+  _arguments -C -s -S \
     '(-A -R -W -I -l -n -d -f -E -i -D)-e[specify editor to invoke]:editor to invoke:_command_names -e' \
     '(-l -m -e -r -n -d -f -E -i -D -A -W *)-R[read history from file]:history file:_files' \
     '(-l -m -e -r -n -d -f -E -i -D -R -W *)-A[append history to file]:history file:_files' \
     '(-l -m -e -r -n -d -f -E -i -D -R -A *)-W[write history to file]:history file:_files' \
     '(-l -m -e -r -n -d -f -E -i -D -A -W *)-I[read/write new events only]:history file:_files' \
-    "$fc_common[@]"
-fi
+    "$fc_common[@]" "$fc_hist[@]" "$fc_r" && return 0
+  ;;
+esac
diff --git a/Completion/Builtins/_hash b/Completion/Builtins/_hash
index 8d7e51503..4b2a8a6ca 100644
--- a/Completion/Builtins/_hash
+++ b/Completion/Builtins/_hash
@@ -9,13 +9,13 @@ common_args=( \
 
 case ${service} in
   hash)
-    _arguments -C -s \
+    _arguments -C -s -S \
       '(-f -m -v)-r[empty hash table]' \
       '(-f -r)-m[treat arguments as patterns]' \
       '(-f -r -m)-v[list entires as they are added]' \
       '(-f -r -v)-L[list in the form of calls to hash]' \
       "${common_args[@]}" \
-      '(-d -f -r -m -v)*:hash:->hashval' && return 0
+      '(-d -f -r -m -v -L)*:hash:->hashval' && return 0
   ;;
   rehash)
     _arguments -C -s ${common_args[@]} && return 0
diff --git a/Completion/Builtins/_print b/Completion/Builtins/_print
index 11b089a14..76b39f613 100644
--- a/Completion/Builtins/_print
+++ b/Completion/Builtins/_print
@@ -9,7 +9,7 @@ eflag="${words[1,CURRENT-1][(r)-*R*]:+-e[enable escapes]}"
 (:>&p) 2>/dev/null &&
   pflag='(-s -u -z)-p[print arguments to input of coprocess]'
 
-_arguments -C -s \
+_arguments -C -s -A "-*" -S \
   '-r[ignore escape conventions of echo]' \
   '(-r -b -m -s -l -N -o -O -i -c -u -p -z -D -P)-R[emulate BSD echo (no escapes, -n & -e flags only)]' \
   '-b[recognise bindkey escape sequences]' \
diff --git a/Completion/Builtins/_read b/Completion/Builtins/_read
index a648701d9..e49336475 100644
--- a/Completion/Builtins/_read
+++ b/Completion/Builtins/_read
@@ -6,7 +6,7 @@ local pflag expl line curcontext="$curcontext"
 (:>&p) 2>/dev/null &&
   pflag='(-q -u -z)-p[input is read from the coprocess]'
 
-_arguments -C -s \
+_arguments -C -s -A "-*" -S \
   '-r[raw mode]' \
   '(-p -k -u -z)-q[read y or n character from terminal]' \
   '(-q)-k[specify number of characters to read]:number of characters' \
diff --git a/Completion/Builtins/_unhash b/Completion/Builtins/_unhash
index 927511887..bf74f07c7 100644
--- a/Completion/Builtins/_unhash
+++ b/Completion/Builtins/_unhash
@@ -2,12 +2,12 @@
 
 local expl state line curcontext="$curcontext"
 
-_arguments -C -s \
+_arguments -C -s -S \
   '(-a -f *)-d[remove named directories]:*:named directory:->nameddir' \
   '(-d -f *)-a[remove aliases]:*:aliases:_aliases' \
   '(-d -a *)-f[remove functions]:*:functions:_functions' \
   '-m[treat arguments as patterns]' \
-  '*:commands: _command_names -e' && return 0
+  '(-a -d -f -m)*:commands: _command_names -e' && return 0
 
 [[ "$state" = nameddir ]] &&
   _wanted named-directories expl 'named directory' compadd -k nameddirs
diff --git a/Completion/Builtins/_vars_eq b/Completion/Builtins/_vars_eq
index 8bc8e6e63..c49066a2c 100644
--- a/Completion/Builtins/_vars_eq
+++ b/Completion/Builtins/_vars_eq
@@ -53,7 +53,7 @@ for ((i=1;i<=$#use;++i)); do
       ${allargs[${use[$i]}${${(s::)use[$i]}[(r)[Uut]]:+$func}]} )
 done
 
-_arguments -C -s "${args[@]}" '*:vars:->vars_eq'
+_arguments -C -s -A "-*" -S "${args[@]}" '*:vars:->vars_eq'
 
 if [[ "$state" = vars_eq ]]; then
   if [[ $func = f ]]; then
diff --git a/Completion/Builtins/_which b/Completion/Builtins/_which
index da78b9358..ab6caeba7 100644
--- a/Completion/Builtins/_which
+++ b/Completion/Builtins/_which
@@ -13,14 +13,14 @@ aarg='-a[print all occurences in path]'
 
 case ${service} in
   whence)
-    _arguments -C -s \
+    _arguments -C -s -A "-*" -S \
       '(-c -w)-v[verbose output]' \
       '(-v -w)-c[csh-like output]' \
       "${cargs[@]}" "$farg" "$aarg" && return 0
   ;;
-  where) _arguments -C -s "${cargs[@]}" && return 0;;
-  which) _arguments -C -s "${cargs[@]}" "$aarg" && return 0;;
-  type) _arguments -C -s "${cargs[@]}" "$aarg" "$farg" && return 0;;
+  where) _arguments -C -s -A "-*" -S "${cargs[@]}" && return 0;;
+  which) _arguments -C -s -A "-*" -S "${cargs[@]}" "$aarg" && return 0;;
+  type) _arguments -C -s -A "-*" -S "${cargs[@]}" "$aarg" "$farg" && return 0;;
 esac
 
 if [[ "$state" = command ]]; then
diff --git a/Completion/Builtins/_zcompile b/Completion/Builtins/_zcompile
index e9b9c60eb..2d8e6d033 100644
--- a/Completion/Builtins/_zcompile
+++ b/Completion/Builtins/_zcompile
@@ -1,9 +1,9 @@
 #compdef zcompile
 
-local state line expl curcontext="$curcontext"
+local state line expl curcontext="$curcontext" ret=1
 typeset -A opt_args
 
-_arguments -C -s \
+_arguments -C -s -A "-*" -S \
     '(-t -c -m -a)-U[don'\''t expand aliases]' \
     '(-t -M)-R[mark as read]' \
     '(-t -R)-M[mark as mapped]' \
@@ -14,11 +14,13 @@ _arguments -C -s \
     '(-t -U -z -k)-a[write autoload functions]' \
     '(-M -R -U -z -k -a -c -m)-t[show table of contents]' \
     ':zwc file:_files' \
-    '*:function:->function' && return 0
+    '*:function:->function' && ret=0
 
 if (( $+opt_args[-c] )); then
-  _wanted functions expl 'function to write' compadd -k functions
+  _wanted functions expl 'function to write' compadd -k functions && ret=0
 else
   _description files expl 'zsh source file'
-  _files "$expl[@]"
+  _files "$expl[@]" && ret=0
 fi
+
+return ret
diff --git a/Completion/Builtins/_zle b/Completion/Builtins/_zle
index 8a84b3697..2d707a22c 100644
--- a/Completion/Builtins/_zle
+++ b/Completion/Builtins/_zle
@@ -15,7 +15,7 @@ compwids=(accept-and-menu-complete
 
 opts=(-A -C -D -L -M -N -R -U -a -c -l \* :)
 
-_arguments -s \
+_arguments -s -S \
     "($opts)-A[define widget alias]:old widget:->widget :new widget:->widget" \
     "($opts)-C[define completion widget]:new widget name:->comp-widget :completion widget:->builtin-comp-widget :widget shell function:->function" \
     "($opts)-D[delete widget]:*:widget:->widget" \
@@ -30,7 +30,7 @@ _arguments -s \
     '(-)::widget name:->call'
 
 [[ $state == listing ]] &&
-  _arguments -s \
+  _arguments -s -S \
     "-l[list user-defined widgets]" \
     "(-a)-L[list as commands]" \
     "(-L)-a[list all widgets]" \
diff --git a/Completion/Builtins/_zpty b/Completion/Builtins/_zpty
index b7e355149..4a02952f7 100644
--- a/Completion/Builtins/_zpty
+++ b/Completion/Builtins/_zpty
@@ -4,7 +4,7 @@ local state line list names expl curcontext="$curcontext"
 typeset -A opt_args
 
 
-_arguments -C -s \
+_arguments -C -s -S \
   '(-r -w -L -d)-e[echo input characters]' \
   '(-r -w -L -d)-b[io to pseudo-terminal blocking]' \
   '(-r -w -L -e -b)-d[delete command]:*:name:->name' \
@@ -17,7 +17,7 @@ _arguments -C -s \
 
 # One could use sets, but that's more expensive and zpty is simple enough.
 #
-# _arguments -C -s \
+# _arguments -C -s -S \
 #   - read \
 #     '-r[read string from command]' \
 #     ':name:->name' \
diff --git a/Completion/Builtins/_zstyle b/Completion/Builtins/_zstyle
index 6a6d5787d..003ec4d9f 100644
--- a/Completion/Builtins/_zstyle
+++ b/Completion/Builtins/_zstyle
@@ -17,12 +17,17 @@ styles=(
   avoid-completer        c:
   break-keys             c:
   cache-path		 'c:_wanted directories expl directory _path_files -/'
+  cache-policy           c:_functions
+  call-command           c:bool
   command                c:command
+  commands               c:
+  complete               c:bool
   completer		 c:completer
   completions		 c:bool
   condition		 c:bool
   cursor		 c:cursor
   disable-stat		 c:bool
+  disabled               c:bool
   domains                c:
   expand		 c:
   fake-files		 c:fake-files
@@ -32,6 +37,7 @@ styles=(
   force-list             c:
   format		 c:
   glob			 c:bool
+  global                 c:bool
   group-name		 c:
   group-order		 c:tag
   groups		 c:_groups
@@ -69,7 +75,8 @@ styles=(
   ports			 c:_ports
   prefix-hidden		 c:bool
   prefix-needed		 c:bool
-  prompt		 c:
+  range                  c:
+  regular                c:bool
   remote-access		 c:bool
   remove-all-dups	 c:bool
   select-prompt          c: