1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2026-01-14 00:12:18 +01:00
zsh/Completion/Base/Utility/_set_command

31 lines
895 B
Text

#autoload
# This sets the parameters _comp_command1 and _comp_command2 in the
# calling function.
local command
command="$words[1]"
[[ -z "$command" ]] && return
if (( $+builtins[$command] + $+functions[$command] )); then
_comp_command1="$command"
curcontext="${curcontext%:*:*}:${_comp_command1}:"
elif [[ "$command[1]" = '=' ]]; then
eval _comp_command2\=$command
_comp_command1="$command[2,-1]"
curcontext="${curcontext%:*:*}:${_comp_command2}:"
elif [[ "$command" = ..#/* ]]; then
_comp_command1="${PWD}/$command"
_comp_command2="${command:t}"
curcontext="${curcontext%:*:*}:${_comp_command2}:"
elif [[ "$command" = */* ]]; then
_comp_command1="$command"
_comp_command2="${command:t}"
curcontext="${curcontext%:*:*}:${_comp_command2}:"
else
_comp_command1="$command"
_comp_command2="$commands[$command]"
curcontext="${curcontext%:*:*}:${_comp_command1}:"
fi