1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-23 04:30:24 +02:00
zsh/Completion/BSD/Command/_sockstat
2011-03-01 20:21:59 +00:00

23 lines
637 B
Text

#compdef sockstat
local tmp_proto protocols proto
tmp_proto=(${${(M)${(f)"$(</etc/protocols)"}##[a-z0-9]*}})
for proto ($tmp_proto) {
case $proto in
*\#*)
protocols=($protocols ${${(j: :)${=proto}}// *\# /:})
;;
*)
protocols=($protocols ${${(j: :)${=proto}}// */})
esac
}
_arguments -s \
'-4[Show AF_INET (IPv4) sockets]' \
'-6[Show AF_INET6 (IPv6) sockets]' \
'-c[Show connected sockets]' \
'-l[Show listening sockets]' \
'-u[Show AF_LOCAL (UNIX) sockets]' \
'-p[Only show Internet sockets if the port number is on the specified list]' \
'-P[Only show sockets of the specified protocols]:protocols:(($protocols))'