about summary refs log tree commit diff
path: root/Completion/Builtins/_hash
blob: c8a51a38a286c2325dae2454c7f6a65997ac44da (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
    _wanted -C -d-value files && _path_files -g '*(-/)'
  else
    _wanted -C -d named-directories expl 'named directory' &&
        compadd "$expl[@]" -q -S '=' - "${(@k)nameddirs}"
  fi
elif compset -P 1 '*='; then
  _wanted -C value values expl 'executable file' &&
      _files "$expl[@]" -g '*(-*)'
else
  _wanted -C name commands expl command &&
      compadd "$expl[@]" -q -S '=' - "${(@k)commands}"
fi