diff options
Diffstat (limited to 'Completion/Builtins')
-rw-r--r-- | Completion/Builtins/_compdef | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/Completion/Builtins/_compdef b/Completion/Builtins/_compdef new file mode 100644 index 000000000..1df5758b3 --- /dev/null +++ b/Completion/Builtins/_compdef @@ -0,0 +1,22 @@ +#compdef compdef + +local func base=2 + +while [[ $words[base] = -* ]]; do + case $words[base] in + -d) delete=yes ;; + -p) type=pattern ;; + -k) type=key ;; + esac + (( base++ )) +done + +if [ "$delete" ]; then + compadd ${(k)_comps} +else + if [[ CURRENT -eq base ]]; then + for func in ${^~fpath:/.}/_(|*[^~])(N:t); compadd -P_ - ${func#_} + else + compgen -c + fi +fi |