diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 11:14:07 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 11:14:07 +0000 |
commit | 041958250dd3a2205a4b0b3e7d8a18f9ffb4090c (patch) | |
tree | 2b386eca67c040509e160c8d831285ec90a10b65 /Completion/Base | |
parent | 041ccf77516b667f6553913246672c0c934dc8ed (diff) | |
download | zsh-041958250dd3a2205a4b0b3e7d8a18f9ffb4090c.tar.gz zsh-041958250dd3a2205a4b0b3e7d8a18f9ffb4090c.tar.xz zsh-041958250dd3a2205a4b0b3e7d8a18f9ffb4090c.zip |
moved from Completion/Commands/_bash_completions
Diffstat (limited to 'Completion/Base')
-rw-r--r-- | Completion/Base/Widget/_bash_completions | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Completion/Base/Widget/_bash_completions b/Completion/Base/Widget/_bash_completions new file mode 100644 index 000000000..6980e8bfd --- /dev/null +++ b/Completion/Base/Widget/_bash_completions @@ -0,0 +1,46 @@ +#compdef -K _bash_complete-word complete-word \e~ _bash_list-choices list-choices ^X~ +# +# This function is for bash compatibility. As some of the bash bindings +# are already taken up in zsh, only Esc ~ and \C-x ~ are bound, and +# you must add the rest by hand. The bindings expected are: +# +# Esc ! -> command name +# Esc $ -> environment variables +# Esc @ -> machine names +# Esc / -> file name +# Esc ~ -> a user name +# +# C-x instead of Esc with one of the above will list matches and won't +# attempt any completion. +# +# The following will bind the remaining set; simply put it in .zshrc +# after compinit is run. +# +# for key in '!' '$' '@' '/'; do +# bindkey "\e$key" _bash_complete-word +# bindkey "^X$key" _bash_list-choices +# done +# +# If for some reason \e~ or ^X~ were already bound to something else, +# that will not have been overridden, so you should add '~' to the +# list of keys at the top of the for-loop. + +setopt localoptions ${_comp_options[@]} + +local key=$KEYS[-1] expl + +case $key in + '!') _main_complete _command_names + ;; + '$') _main_complete - parameters _wanted parameters expl 'exported parameters' \ + _parameters -g '*export*' + ;; + '@') _main_complete _hosts + ;; + '/') _main_complete _files + ;; + '~') _main_complete _users + ;; + *) _message "Key $key is not understood" + ;; +esac |