diff options
Diffstat (limited to 'Completion/Unix')
-rw-r--r-- | Completion/Unix/Command/_arp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/Completion/Unix/Command/_arp b/Completion/Unix/Command/_arp index b46d2daf0..d9b033e90 100644 --- a/Completion/Unix/Command/_arp +++ b/Completion/Unix/Command/_arp @@ -1,14 +1,21 @@ #compdef arp local state line expl curcontext="$curcontext" +local -a cmds + +cmds=(-a --display -d --delete -s --set -f --file) _arguments -C \ - '(-d -s -f 1)-a[show entries for all or specified hosts]:host:->hostintable' \ - '(-a -s -f 1)-d[delete entry from table]:host:->hostintable' \ - '(-a -d -f 1)-s[create an arp entry]:host:_hosts:ethernet address::*:option:(temp trail pub)' \ - '(-a -d -s 1)-f[read multiple entries from file]:file:_files' \ + "($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]} -a)"}##[ ?(]#}%%[ )]*} - + _wanted hosts expl 'host' compadd ${${${(f)"$(${words[1]} -an)"}##[ ?(]#}%%[ )]*} |