1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-11-10 21:30:56 +01:00
zsh/Completion/Base/_brace_parameter
1999-08-23 10:07:17 +00:00

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 '-:?#%+=[/}'