mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-11-10 21:30:56 +01:00
25 lines
494 B
Text
25 lines
494 B
Text
#compdef -brace-parameter-
|
|
|
|
setopt localoptions extendedglob
|
|
|
|
local lp ls n q
|
|
|
|
if [[ "$SUFFIX" = *\}* ]]; then
|
|
ISUFFIX="${SUFFIX#*\}}$ISUFFIX"
|
|
SUFFIX="${SUFFIX%%\}*}"
|
|
suf=()
|
|
elif [[ "$LBUFFER" = *\$\{[^}]#\$\{[^}]#$PREFIX ||
|
|
"$compstate[insert]" = *menu* ]]; then
|
|
suf=(-b '')
|
|
else
|
|
suf=(-b ' ')
|
|
fi
|
|
|
|
lp="$LBUFFER[1,-${#PREFIX}-1]"
|
|
ls="$RBUFFER[${#SUFFIX}+1,-1]"
|
|
n=${(M)#ls##\"#}
|
|
q=${(M)lp%%\"#}
|
|
|
|
[[ n -gt 0 ]] && suf=''
|
|
|
|
_parameters "$suf[@]" -Qs "${q[1,-n-1]}" -r '-:?#%+=[/}'
|