File: _set_command

package info (click to toggle)
zsh 5.9-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,856 kB
  • sloc: ansic: 108,138; sh: 6,976; makefile: 722; perl: 687; awk: 291; sed: 16
file content (31 lines) | stat: -rw-r--r-- 815 bytes parent folder | download | duplicates (16)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#autoload

# This sets the parameters _comp_command1, _comp_command2 and _comp_command
# in the calling function.

local command

command="$words[1]"

[[ -z "$command" ]] && return

if (( $+builtins[$command] + $+functions[$command] )); then
  _comp_command1="$command"
  _comp_command="$_comp_command1"
elif [[ "$command[1]" = '=' ]]; then
  eval _comp_command2\=$command
  _comp_command1="$command[2,-1]"
  _comp_command="$_comp_command2"
elif [[ "$command" = ..#/* ]]; then
  _comp_command1="${PWD}/$command"
  _comp_command2="${command:t}"
  _comp_command="$_comp_command2"
elif [[ "$command" = */* ]]; then
  _comp_command1="$command"
  _comp_command2="${command:t}"
  _comp_command="$_comp_command2"
else
  _comp_command1="$command"
  _comp_command2="$commands[$command]"
  _comp_command="$_comp_command1"
fi