mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-19 13:33:52 +01:00
45 lines
788 B
Plaintext
45 lines
788 B
Plaintext
#autoload
|
|
|
|
local format raw gopt
|
|
|
|
if [[ "$1" = -e ]]; then
|
|
local expl ret=1 tag
|
|
|
|
_comp_mesg=yes
|
|
|
|
if (( $# > 2 )); then
|
|
tag="$2"
|
|
shift
|
|
else
|
|
tag="$curtag"
|
|
fi
|
|
_tags "$tag" && while _next_label "$tag" expl "$2"; do
|
|
compadd ${expl:/-X/-x}
|
|
ret=0
|
|
done
|
|
|
|
(( $compstate[nmatches] )) || compstate[insert]=
|
|
|
|
return ret
|
|
fi
|
|
|
|
gopt=()
|
|
zparseopts -D -a gopt 1 2 V J
|
|
|
|
_tags messages || return 1
|
|
|
|
if [[ "$1" = -r ]]; then
|
|
raw=yes
|
|
shift
|
|
format="$1"
|
|
else
|
|
zstyle -s ":completion:${curcontext}:messages" format format ||
|
|
zstyle -s ":completion:${curcontext}:descriptions" format format
|
|
fi
|
|
|
|
if [[ -n "$format$raw" ]]; then
|
|
[[ -z "$raw" ]] && zformat -f format "$format" "d:$1" "${(@)argv[2,-1]}"
|
|
builtin compadd "$gopt[@]" -x "$format"
|
|
_comp_mesg=yes
|
|
fi
|