mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-11-20 14:04:03 +01:00
56 lines
1.0 KiB
Plaintext
56 lines
1.0 KiB
Plaintext
#compdef socket
|
|
|
|
# Style used:
|
|
#
|
|
# hosts-ports
|
|
# The style that contains pairs `host:port'.
|
|
|
|
local curcontext="$curcontext" state line expl
|
|
typeset -A opt_args
|
|
|
|
[[ $CURRENT -eq 2 ]] &&
|
|
{ ! zstyle -T ":completion:${curcontext}:options" prefix-needed ||
|
|
[[ "$PREFIX" = -* ]] } &&
|
|
_wanted options expl option \
|
|
compadd -M 'r:|[_-]=* r:|=*' "$expl[@]" - -version
|
|
|
|
_arguments -C -s \
|
|
'-b[background]' \
|
|
'-c[crlf]' \
|
|
'-f[fork]' \
|
|
'-q[quit]' \
|
|
'-r[read only]' \
|
|
'-v[verbose]' \
|
|
'-w[write only]' \
|
|
'-s[server]' \
|
|
'-l[loop]' \
|
|
'-p[program]:command:->command' \
|
|
':arg1:->arg1' \
|
|
':arg2:->arg2'
|
|
|
|
case "$state" in
|
|
command)
|
|
compset -q
|
|
if [[ $CURRENT -eq 1 ]]; then
|
|
_command_names -e "$@"
|
|
else
|
|
_normal
|
|
fi
|
|
;;
|
|
|
|
arg1)
|
|
if (( $+opt_args[-s] )); then
|
|
_ports
|
|
else
|
|
_wanted hosts expl 'host' _combination '' hosts-ports hosts -
|
|
fi
|
|
;;
|
|
|
|
arg2)
|
|
if (( ! $+opt_args[-s] )); then
|
|
_wanted ports expl 'port to connect' \
|
|
_combination '' hosts-ports hosts="${line[1]:q}" ports -
|
|
fi
|
|
;;
|
|
esac
|