1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-11-20 05:53:52 +01:00
zsh/Completion/X/_x_arguments

36 lines
598 B
Plaintext

#compdef -P */X11(|R[456])/*
local ret long xargs opts rawret nm="$compstate[nmatches]"
xargs=(
'-display:display:_x_display'
'-geometry:geometry:_x_geometry'
)
(( $# )) || xargs=( "$xargs[@]" '*:default: _default' )
long=$argv[(I)--]
if (( long )); then
argv[long]=( "$xargs[@]" -- )
else
set -- "$@" "$xargs[@]"
fi
opts=()
while [[ $1 = -(O*|[CR]) ]]; do
opts=($opts $1)
[[ $1 = -R ]] && rawret=yes
shift
done
_arguments -R "$opts[@]" "$@"
ret=$?
if [[ "$ret" = 300 ]]; then
compstate[restore]=''
[[ -z $rawret ]] && ret=$(( nm == $compstate[nmatches] ))
fi
return ret