mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-04 20:40:57 +02:00
zsh-workers/7781
This commit is contained in:
parent
189116eac0
commit
e644c39ba1
3 changed files with 24 additions and 7 deletions
|
@ -5,4 +5,4 @@ local expl
|
|||
: ${(A)hosts:=${(s: :)${(ps:\t:)${${(f)"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}}
|
||||
|
||||
_description expl host
|
||||
compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' "$@" "$expl[@]" - "${hosts[@]%:*}"
|
||||
compadd -M 'm:{a-zA-Z}={A-Za-z} r:|.=* r:|=*' "$@" "$expl[@]" - "$hosts[@]"
|
||||
|
|
|
@ -1,5 +1,12 @@
|
|||
#compdef socket
|
||||
|
||||
# Parameter used:
|
||||
#
|
||||
# socket_ports
|
||||
# The associative array that maps a host name to a space-separated list of
|
||||
# ports.
|
||||
|
||||
|
||||
local state line expl
|
||||
typeset -A options
|
||||
|
||||
|
@ -18,17 +25,21 @@ command)
|
|||
|
||||
arg1)
|
||||
if (( $+options[-s] )); then
|
||||
_message 'port'
|
||||
_message 'port to listen'
|
||||
else
|
||||
_description expl 'host'
|
||||
_hosts "$expl[@]"
|
||||
compadd "$expl[@]" - ${(k)socket_ports} || _hosts "$expl[@]"
|
||||
fi
|
||||
;;
|
||||
|
||||
arg2)
|
||||
if (( ! $+options[-s] )); then
|
||||
_description expl 'port'
|
||||
_hostports $line[2] "$expl[@]"
|
||||
_description expl 'port to connect'
|
||||
if (( $+socket_ports )); then
|
||||
compadd "$expl[@]" - ${=socket_ports[$line[2]]};
|
||||
else
|
||||
_message 'port to connect';
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
#compdef telnet
|
||||
|
||||
# Parameter used:
|
||||
#
|
||||
# telnet_ports
|
||||
# The associative array that maps a host name to a space-separated list of
|
||||
# ports.
|
||||
|
||||
_arguments -s \
|
||||
-{F,f,x} \
|
||||
'-8[allow 8-Bit data]' \
|
||||
|
@ -16,6 +22,6 @@ _arguments -s \
|
|||
'-l+[specify user]:user:' \
|
||||
'-n+[specify tracefile]:tracefile:_files' \
|
||||
'-r[rlogin like user interface]' \
|
||||
':host:_hosts' \
|
||||
':port:{ _hostports $line[2] "$expl[@]" }'
|
||||
':host:{ compadd "$expl[@]" - ${(k)telnet_ports} || _hosts "$expl[@]" }' \
|
||||
':port:{ if (( $+telnet_ports )); then compadd "$expl[@]" - ${=telnet_ports[$line[2]]}; else _message "port"; fi }'
|
||||
|
||||
|
|
Loading…
Reference in a new issue