about summary refs log tree commit diff
path: root/Completion/Base/_default
blob: 8176f392c2e4ee241401965c1f50d849e090d89f (plain) (blame)
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
#compdef -default-

local ctl

if { zstyle -s ":completion:${curcontext}:" use-compctl ctl ||
     zmodload -e zsh/compctl } && [[ "$ctl" != (no|false|0|off) ]]; then
  local opt

  opt=()
  [[ "$ctl" = *first* ]] && opt=(-T)
  [[ "$ctl" = *default* ]] && opt=("$opt[@]" -D)
  compcall "$opt[@]" || return 0
fi

_files "$@" && return 0

# magicequalsubst allows arguments like <any-old-stuff>=~/foo to do
# file name expansion after the =.  In that case, it's natural to
# allow completion to handle file names after any equals sign.

if [[ -o magicequalsubst && "$PREFIX" = *\=* ]]; then
  compstate[parameter]="${words[1]:t}-${PREFIX%%\=*}"
  compset -P 1 '*='
  _value "$@"
else
  return 1
fi