mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-02 22:11:54 +02:00
21 lines
1.1 KiB
Text
21 lines
1.1 KiB
Text
#compdef arp
|
|
|
|
local state line expl curcontext="$curcontext"
|
|
local -a cmds
|
|
|
|
cmds=(-a --display -d --delete -s --set -f --file)
|
|
|
|
_arguments -C \
|
|
"($cmds 1 -D --use-device)"{-a,--display}'[show entries for all or specified hosts]:host:->hostintable' \
|
|
"($cmds 1 -n --numeric -D --use-device -H --hw-type)"{-d,--delete}'[delete entry from table]:host:->hostintable' \
|
|
"($cmds 1 -n --numeric)"{-s,--set}'[create an ARP entry]:host:_hosts:ethernet address::*:option:(temp trail pub)' \
|
|
"($cmds 1 -n --numeric)"{-f,--file}'[read multiple entries from file]:file:_files' \
|
|
'(-i --device)'{-i,--device}'[select an interface]:::_net_interfaces:' \
|
|
'(-D --use-device -a --display -d --delete)'{-D,--use-device}"[use the interface ifa's hardware address]" \
|
|
'(-H --hw-type -d --delete)'{-H,--hw-type}'[class of entries to check for]:class:(ether arcnet pronet ax25 netrom)' \
|
|
'(-n --numeric -d --delete -s --set -f --file)'{-n,--numeric}'[shows numerical addresses]' \
|
|
'(-v --verbose)'{-v,--verbose}'[be verbose]' \
|
|
'(-a)1:host:->hostintable'
|
|
|
|
[[ "$state" = hostintable ]] &&
|
|
_wanted hosts expl 'host' compadd ${${${(f)"$(${words[1]} -an)"}##[ ?(]#}%%[ )]*}
|