1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-06-02 05:16:03 +02:00
zsh/Completion/Base/Core/_message

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