about summary refs log tree commit diff
path: root/Completion/User/_arp
blob: b550bba63ef95d7af25c41d58071aae70a49e9aa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#compdef arp

local state line expl curcontext="$curcontext"

_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' \
 '(-a)1:host:->hostintable' && return 0

if [[ "$state" = hostintable ]]; then
  _wanted hosts expl 'host' compadd ${${${(f)"$(${words[1]} -a)"}##[ ?(]#}%%[ )]*}
fi