shell-completion/zsh: add missing verbs for networkctl
authorOlivier Le Moal <olivier.lemoal@nbs-system.com>
Wed, 26 Aug 2020 14:03:35 +0000 (16:03 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 20 Sep 2020 09:32:27 +0000 (11:32 +0200)
(cherry picked from commit 6ff45bc1a18855cb9b0c43ba13843c11dd10728f)
(cherry picked from commit 1f4cb5da1eb5970726a90262a8a3342906743436)

shell-completion/zsh/_networkctl

index 4995bd3d105f0be4db4176cb67ac5e8cd0221f8c..41c793d2c79c7762ed87bd2a09044400d2b49e84 100644 (file)
@@ -6,9 +6,13 @@
         local -a _networkctl_cmds
         _networkctl_cmds=(
             'list:List existing links'
-           'status:Show information about the specified links'
-           'lldp:Show Link Layer Discovery Protocol status'
-           'label:Show address labels'
+            'status:Show information about the specified links'
+            'lldp:Show Link Layer Discovery Protocol status'
+            'label:Show address labels'
+            'delete:Delete virtual netdevs'
+            'renew:Renew dynamic configurations'
+            'reconfigure:Reconfigure interfaces'
+            'reload:Reload .network and .netdev files'
         )
         if (( CURRENT == 1 )); then
             _describe -t commands 'networkctl command' _networkctl_cmds
             local curcontext="$curcontext"
             local -a _links
             cmd="${${_networkctl_cmds[(r)$words[1]:*]%%:*}}"
-            if [ $cmd = "status" ]; then
-                _links=( "${(foa)$(networkctl list --no-legend | awk 'BEGIN{OFS=":"} {sub(/[[ \t]+/, ""); print $2,$0}' 2>/dev/null)}" )
-                if [[ -n "$_links" ]]; then
-                    _describe -t links 'links' _links
-                else
-                    _message "no links"
-                fi
-            else
-                _message "no more options"
-            fi
+            case $cmd in
+                (status|lldp|delete|renew|reconfigure)
+                    _links=( "${(foa)$(networkctl list --no-legend | awk 'BEGIN{OFS=":"} {sub(/[[ \t]+/, ""); print $2,$0}' 2>/dev/null)}" )
+                    if [[ -n "$_links" ]]; then
+                         _describe -t links 'links' _links
+                    else
+                        _message "no links"
+                    fi
+                    ;;
+                *)
+                    _message "no more options"
+                    ;;
+            esac
         fi
     }