1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-06-22 22:58:03 +02:00

zsh-workers:6188

This commit is contained in:
Tanaka Akira 1999-05-04 21:19:33 +00:00
parent f330bdf21e
commit f0159dac34

View file

@ -180,9 +180,15 @@ compdef() {
*) *)
# For commands store the function name in the `_comps' # For commands store the function name in the `_comps'
# associative array, command names as keys. # associative array, command names as keys.
for i; do if [[ -z "$new" ]]; then
[[ -z "$new" || "${+_comps[$i]}" -eq 0 ]] && _comps[$i]="$func" for i; do
done _comps[$i]="$func"
done
else
for i; do
[[ "${+_comps[$i]}" -eq 0 ]] && _comps[$i]="$func"
done
fi
;; ;;
esac esac
else else
@ -286,31 +292,36 @@ if [[ -z "$_i_done" ]]; then
read -rA _i_line < $_i_file read -rA _i_line < $_i_file
_i_tag=$_i_line[1] _i_tag=$_i_line[1]
shift _i_line shift _i_line
if [[ $_i_tag = '#compdef' ]]; then case $_i_tag in
(\#compdef)
if [[ $_i_line[1] = -[pk] ]]; then if [[ $_i_line[1] = -[pk] ]]; then
compdef ${_i_line[1]}a "${_i_file:t}" "${(@)_i_line[2,-1]}" compdef ${_i_line[1]}a "${_i_file:t}" "${(@)_i_line[2,-1]}"
else else
compdef -na "${_i_file:t}" "${_i_line[@]}" compdef -na "${_i_file:t}" "${_i_line[@]}"
fi fi
elif [[ $_i_tag = '#autoload' ]]; then ;;
(\#autoload)
autoload ${_i_file:t} autoload ${_i_file:t}
fi ;;
esac
done done
done done
bindkey | bindkey |
while read -rA _i_line; do while read -rA _i_line; do
if [[ "$_i_line[2]" = complete-word || case "$_i_line[2]" in
"$_i_line[2]" = delete-char-or-list || (complete-word) ;&
"$_i_line[2]" = expand-or-complete || (delete-char-or-list) ;&
"$_i_line[2]" = expand-or-complete-prefix || (expand-or-complete) ;&
"$_i_line[2]" = list-choices || (expand-or-complete-prefix) ;&
"$_i_line[2]" = menu-complete || (list-choices) ;&
"$_i_line[2]" = menu-expand-or-complete || (menu-complete) ;&
"$_i_line[2]" = reverse-menu-complete ]]; then (menu-expand-or-complete) ;&
(reverse-menu-complete)
zle -C _complete_$_i_line[2] $_i_line[2] _main_complete zle -C _complete_$_i_line[2] $_i_line[2] _main_complete
bindkey "${_i_line[1][2,-2]}" _complete_$_i_line[2] bindkey "${_i_line[1][2,-2]}" _complete_$_i_line[2]
fi ;;
esac
done done
unset _i_dir _i_line _i_file _i_tag unset _i_dir _i_line _i_file _i_tag