about summary refs log tree commit diff
path: root/Completion/Builtins/_hash
blob: 4cb72b09cb3318fd5a46a63b34de08104b55fb80 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#compdef hash

local expl

if [[ "$words[2]" = -*d* ]]; then
  if compset -P 1 '*\='; then
    _path_files -g '*(-/)'
  else
    _description expl 'named directory'
    compadd "$expl[@]" -q -S '=' - "${(@k)nameddirs}"
  fi
elif compset -P 1 '*\='; then
  _description expl 'executable file'
  _files "$expl[@]" -g '*(*)'
else
  _description expl command
  compadd "$expl[@]" -q -S '=' - "${(@k)commands}"
fi