summaryrefslogtreecommitdiff
path: root/Completion/Builtins
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Builtins')
-rw-r--r--Completion/Builtins/_aliases8
-rw-r--r--Completion/Builtins/_bindkey4
-rw-r--r--Completion/Builtins/_builtin12
-rw-r--r--Completion/Builtins/_cd2
-rw-r--r--Completion/Builtins/_command11
-rw-r--r--Completion/Builtins/_compdef6
-rw-r--r--Completion/Builtins/_functions6
-rw-r--r--Completion/Builtins/_hash4
-rw-r--r--Completion/Builtins/_popd2
-rw-r--r--Completion/Builtins/_unhash4
-rw-r--r--Completion/Builtins/_vars2
-rw-r--r--Completion/Builtins/_which10
-rw-r--r--Completion/Builtins/_zcompile2
-rw-r--r--Completion/Builtins/_zle11
-rw-r--r--Completion/Builtins/_zmodload14
-rw-r--r--Completion/Builtins/_zpty4
-rw-r--r--Completion/Builtins/_zstyle4
17 files changed, 62 insertions, 44 deletions
diff --git a/Completion/Builtins/_aliases b/Completion/Builtins/_aliases
index 1038a726e..07e5dc5cb 100644
--- a/Completion/Builtins/_aliases
+++ b/Completion/Builtins/_aliases
@@ -1,3 +1,7 @@
-#defcomp unalias
+#compdef alias unalias
-complist -a
+local expl
+
+_alternative \
+ 'aliases:regular alias:compadd -k aliases' \
+ 'global-aliases:global alias:compadd -k galiases'
diff --git a/Completion/Builtins/_bindkey b/Completion/Builtins/_bindkey
index cca4f7e64..048d517f2 100644
--- a/Completion/Builtins/_bindkey
+++ b/Completion/Builtins/_bindkey
@@ -29,9 +29,9 @@ _arguments -C -s \
case $state in
keymap)
- _wanted -C -M keymaps expl keymap compadd - "$keymaps[@]"
+ _wanted -C -M keymaps expl keymap compadd -a keymaps
;;
widget)
- _wanted widgets expl widget compadd -M 'r:|-=* r:|=*' - "${(@k)widgets}"
+ _wanted widgets expl widget compadd -M 'r:|-=* r:|=*' -k widgets
;;
esac
diff --git a/Completion/Builtins/_builtin b/Completion/Builtins/_builtin
index a967932ee..9fb6acf7b 100644
--- a/Completion/Builtins/_builtin
+++ b/Completion/Builtins/_builtin
@@ -1,7 +1,11 @@
-#defcomp builtin
+#compdef builtin
-if [[ -position 2 -1 ]]; then
- _normal "$@"
+if (( $CURRENT > 2 )); then
+ shift words
+ (( CURRENT -- ))
+ _normal
else
- complist -eB
+ local expl
+
+ _wanted commands expl 'builtin command' compadd "$@" -k builtins
fi
diff --git a/Completion/Builtins/_cd b/Completion/Builtins/_cd
index 803bcbda5..634a62c66 100644
--- a/Completion/Builtins/_cd
+++ b/Completion/Builtins/_cd
@@ -22,7 +22,7 @@ if [[ CURRENT -eq 3 ]]; then
rep=(${~PWD/$words[2]/*}~$PWD(-/N))
# Now remove all the common parts of $PWD and the completions from this
rep=(${${rep#${PWD%%$words[2]*}}%${PWD#*$words[2]}})
- (( $#rep )) && _wanted -C replacement strings expl replacement compadd $rep
+ (( $#rep )) && _wanted -C replacement strings expl replacement compadd -a rep
elif _popd || [[ $PREFIX != (\~|/|./|../)* && $#cdpath -ne 0 ]]; then
local tdir tdir2
diff --git a/Completion/Builtins/_command b/Completion/Builtins/_command
index b2812de25..b90ec933e 100644
--- a/Completion/Builtins/_command
+++ b/Completion/Builtins/_command
@@ -1,7 +1,10 @@
-#defcomp command
+#compdef command
-if [[ -position 2 -1 ]]; then
- _normal "$@"
+if [[ CURRENT -ge 3 ]]; then
+ compset -n 2
+ _normal
else
- complist -em
+ local expl
+
+ _wanted commands expl 'external command' compadd "$@" -k commands
fi
diff --git a/Completion/Builtins/_compdef b/Completion/Builtins/_compdef
index 23c6d3a3d..636004af2 100644
--- a/Completion/Builtins/_compdef
+++ b/Completion/Builtins/_compdef
@@ -30,16 +30,16 @@ fi
case $state in
ccom)
- _wanted commands expl 'completed command' compadd - ${(k)_comps}
+ _wanted commands expl 'completed command' compadd -k _comps
;;
cfun)
list=( ${^fpath:/.}/_(|*[^~])(N:t) )
if zstyle -T ":completion:${curcontext}:functions" prefix-hidden; then
disp=( ${list[@]#_} )
_wanted functions expl 'completion function' \
- compadd -d disp - "$list[@]"
+ compadd -d disp -a list
else
- _wanted functions expl 'completion function' compadd - "$list[@]"
+ _wanted functions expl 'completion function' compadd -a list
fi
;;
style)
diff --git a/Completion/Builtins/_functions b/Completion/Builtins/_functions
index 8a352ea08..5a4ecfe59 100644
--- a/Completion/Builtins/_functions
+++ b/Completion/Builtins/_functions
@@ -1,3 +1,5 @@
-#defcomp unfunction
+#compdef functions unfunction
-complist -F
+local expl
+
+_wanted functions expl 'shell function' compadd "$@" -k functions
diff --git a/Completion/Builtins/_hash b/Completion/Builtins/_hash
index de8c1887c..250e119b9 100644
--- a/Completion/Builtins/_hash
+++ b/Completion/Builtins/_hash
@@ -28,11 +28,11 @@ if [[ $state = hashval ]]; then
_wanted -C value files expl directories _path_files -/
else
_wanted -C name named-directories expl 'named directory' \
- compadd -q -S '=' - "${(@k)nameddirs}"
+ compadd -q -S '=' -k nameddirs
fi
elif compset -P 1 '*='; then
_wanted -C value values expl 'executable file' _files -g '*(-*)'
else
- _wanted -C name commands expl command compadd -q -S '=' - "${(@k)commands}"
+ _wanted -C name commands expl command compadd -q -S '=' -k commands
fi
fi
diff --git a/Completion/Builtins/_popd b/Completion/Builtins/_popd
index 19b773173..ff9ede12e 100644
--- a/Completion/Builtins/_popd
+++ b/Completion/Builtins/_popd
@@ -38,4 +38,4 @@ else
fi
_wanted -V directory-stack expl 'directory stack' \
- compadd "$@" "$disp[@]" -Q - "$list[@]"
+ compadd "$@" "$disp[@]" -Q -a list
diff --git a/Completion/Builtins/_unhash b/Completion/Builtins/_unhash
index b99c00ad3..a8f366180 100644
--- a/Completion/Builtins/_unhash
+++ b/Completion/Builtins/_unhash
@@ -7,8 +7,8 @@ _arguments -C -s \
'(-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
+ '*:commands: _command_names -e' && return 0
if [[ "$state" = nameddir ]]; then
- _wanted nameddir expl 'named directory' compadd - ${(@k)nameddirs}
+ _wanted nameddir expl 'named directory' compadd -k nameddirs
fi
diff --git a/Completion/Builtins/_vars b/Completion/Builtins/_vars
index 711a0a1f2..6444c68fe 100644
--- a/Completion/Builtins/_vars
+++ b/Completion/Builtins/_vars
@@ -17,7 +17,7 @@ if [[ $PREFIX = *\[* ]]; then
local expl
_wanted -C subscript association-keys expl 'association key' \
- compadd $addclose - ${(kP)var}
+ compadd $addclose -k "$var"
fi
else
_parameters
diff --git a/Completion/Builtins/_which b/Completion/Builtins/_which
index 3dc785f0f..aceec85a0 100644
--- a/Completion/Builtins/_which
+++ b/Completion/Builtins/_which
@@ -28,10 +28,10 @@ if [[ "$state" = command ]]; then
args=( "$@" )
_alternative -O args \
- 'commands:external command:compadd - ${(k@)commands}' \
- 'builtins:builtin command:compadd - ${(k@)builtins}' \
- 'functions:shell function:compadd - ${(k@)functions}' \
- 'aliases:alias:compadd - ${(k@)aliases}' \
- 'reserved-words:reserved word:compadd - ${(k@)reswords}'
+ 'commands:external command:compadd -k commands' \
+ 'builtins:builtin command:compadd -k builtins' \
+ 'functions:shell function:compadd -k functions' \
+ 'aliases:alias:compadd -k aliases' \
+ 'reserved-words:reserved word:compadd -k reswords'
fi
diff --git a/Completion/Builtins/_zcompile b/Completion/Builtins/_zcompile
index b4428e019..e9b9c60eb 100644
--- a/Completion/Builtins/_zcompile
+++ b/Completion/Builtins/_zcompile
@@ -17,7 +17,7 @@ _arguments -C -s \
'*:function:->function' && return 0
if (( $+opt_args[-c] )); then
- _wanted functions expl 'function to write' compadd - ${(k)functions}
+ _wanted functions expl 'function to write' compadd -k functions
else
_description files expl 'zsh source file'
_files "$expl[@]"
diff --git a/Completion/Builtins/_zle b/Completion/Builtins/_zle
index bb1102e74..e390382d4 100644
--- a/Completion/Builtins/_zle
+++ b/Completion/Builtins/_zle
@@ -1,7 +1,10 @@
-#defcomp zle
+#compdef zle
-if [[ -word 1 -N && -position 3 ]]; then
- complist -F
+local expl
+
+if [[ "$words[2]" = -N && CURRENT -eq 3 ]]; then
+ _wanted -C -N functions expl 'widget shell function' \
+ compadd "$@" -k functions
else
- complist -b
+ _wanted widgets expl widget compadd -k widgets
fi
diff --git a/Completion/Builtins/_zmodload b/Completion/Builtins/_zmodload
index 112acb57c..5ca167152 100644
--- a/Completion/Builtins/_zmodload
+++ b/Completion/Builtins/_zmodload
@@ -1,9 +1,11 @@
-#defcomp zmodload
+#compdef zmodload
-if [[ -mword 1 -*(a*u|u*a)* || -mword 1 -*a* && -position 3 -1 ]]; then
- complist -B
-elif [[ -mword 1 -*u* ]]; then
- complist -s '$(zmodload)'
+local fl="$words[2]" expl
+
+if [[ "$fl" = -*(a*u|u*a)* || "$fl" = -*a* && CURRENT -ge 4 ]]; then
+ _wanted builtins expl 'builtin command' compadd "$@" -k builtins
+elif [[ "$fl" = -*u* ]]; then
+ _wanted modules expl module compadd -k modules
else
- complist -s '${^module_path}/*(N:t:r)'
+ _wanted files expl 'module file' _files -W module_path -/g '*.s[ol](:r)'
fi
diff --git a/Completion/Builtins/_zpty b/Completion/Builtins/_zpty
index dd551ab97..f1de3d11d 100644
--- a/Completion/Builtins/_zpty
+++ b/Completion/Builtins/_zpty
@@ -49,9 +49,9 @@ if [[ $state = name ]]; then
names=( ${list%%:*} )
if zstyle -T ":completion:${curcontext}" verbose; then
zformat -a list ' --' ${${(f)"$(zpty)"}#*\) }
- _wanted names expl 'zpty command name' compadd -d list - "$names[@]"
+ _wanted names expl 'zpty command name' compadd -d list -a names
else
- _wanted names expl 'zpty command name' compadd - "$names[@]"
+ _wanted names expl 'zpty command name' compadd -a names
fi
else
return 1
diff --git a/Completion/Builtins/_zstyle b/Completion/Builtins/_zstyle
index 5ce45c795..db86829ec 100644
--- a/Completion/Builtins/_zstyle
+++ b/Completion/Builtins/_zstyle
@@ -151,7 +151,7 @@ while [[ -n $state ]]; do
completer)
_wanted values expl completer \
compadd _complete _approximate _correct _match \
- _expand _list _menu _oldlist _next_tags
+ _expand _list _menu _oldlist _ignored _prefix _history
;;
fsort)
@@ -212,7 +212,7 @@ while [[ -n $state ]]; do
elif compset -P '*:'; then
_message 'tag alias'
else
- _wanted tags expl tag compadd - $taglist
+ _wanted tags expl tag compadd -a taglist
fi
;;