blob: 7677432817c48d70185b0e0fddb010de5f0a674c (
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
|
#compdef -brace-parameter-
setopt localoptions extendedglob
local lp ls n q suf=''
if [[ "$SUFFIX" = *\}* ]]; then
ISUFFIX="${SUFFIX#*\}}$ISUFFIX"
SUFFIX="${SUFFIX%%\}*}"
elif [[ "$LBUFFER" = *\$\{[^}]#\$\{[^}]#$PREFIX ||
"$compstate[insert]" = *menu* ]]; then
suf='}'
else
suf='} '
fi
lp="$LBUFFER[1,-${#PREFIX}-1]"
ls="$RBUFFER[${#SUFFIX}+1,-1]"
n=${(M)#ls##\"#}
q=${(M)lp%%\"#}
[[ n -gt 0 ]] && suf=''
_parameters -Qs "${q[1,-n-1]}" -S "$suf" -r '-:?#%+=[/}'
|