'lldp:Show Link Layer Discovery Protocol status'
'label:Show address labels'
'delete:Delete virtual netdevs'
+ 'edit:Edit network configurations'
+ 'cat:Cat network configurations'
'up:Bring devices up'
'down:Bring devices down'
'renew:Renew dynamic configurations'
local -a _links
cmd="${${_networkctl_cmds[(r)$words[1]:*]%%:*}}"
case $cmd in
- (list|status|up|down|lldp|delete|renew|forcerenew|reconfigure)
- _links=( "${(foa)$(networkctl list --no-legend | awk 'BEGIN{OFS=":"} {sub(/[[ \t]+/, ""); print $2,$0}' 2>/dev/null)}" )
+ (list|status|up|down|cat|edit|lldp|delete|renew|forcerenew|reconfigure)
+ for link in ${(f)"$(_call_program links networkctl list --no-legend)"}; do _links+=($link[(w)2]:$link); done
if [[ -n "$_links" ]]; then
- _describe -t links 'links' _links
+ _describe -t links 'links' _links _links $( [[ $cmd == (edit|cat) ]] && print -- -P@ )
else
_message "no links"
fi
'--no-legend[Do not print the column headers]' \
{-h,--help}'[Show this help]' \
'--version[Show package version]' \
+ '--drop-in=[Use the given drop-in file name]' \
+ '--no-reload[Do not reload the network manager state when editing]' \
'--json[Shows output formatted as JSON]:format:_networkctl_get_json' \
'*::networkctl commands:_networkctl_commands'