summary refs log tree commit diff
path: root/clients/cli/nmcli-completion
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2015-08-28 01:13:48 +0200
committerMichael Biebl <biebl@debian.org>2015-08-28 01:13:48 +0200
commit81836c2d44802b4cca833d7775dd627e0797a7e2 (patch)
tree91154e6cefc0465306603f51ec0010d9963bbea4 /clients/cli/nmcli-completion
parent50a58f0fabd8a34c1b6108a107e08abe3c1ccd24 (diff)
Imported Upstream version 1.0.6 upstream/1.0.6
Diffstat (limited to 'clients/cli/nmcli-completion')
-rw-r--r--clients/cli/nmcli-completion12
1 files changed, 8 insertions, 4 deletions
diff --git a/clients/cli/nmcli-completion b/clients/cli/nmcli-completion
index 38d7e585..4146eae0 100644
--- a/clients/cli/nmcli-completion
+++ b/clients/cli/nmcli-completion
@@ -455,6 +455,7 @@ _nmcli_compl_ARGS()
             stp| \
             hairpin| \
             save| \
+            hidden| \
             private)
                 if [[ "${#words[@]}" -eq 2 ]]; then
                     _nmcli_list "yes no"
@@ -539,7 +540,9 @@ _nmcli_compl_ARGS()
         # remove the options already seen.
         for i in ${!OPTIONS[*]}; do
             if [[ "${OPTIONS[$i]}" = "${REMOVE_OPTIONS[0]}" || "${OPTIONS[$i]}" = "${REMOVE_OPTIONS[1]}" ]]; then
-                unset OPTIONS[$i]
+                if ! _nmcli_array_has_value OPTIONS_REPEATABLE "${OPTIONS[$i]}" ; then
+                    unset OPTIONS[$i]
+                fi
             fi
         done
         for i in ${!OPTIONS_MANDATORY[*]}; do
@@ -678,7 +681,7 @@ _nmcli()
         cur=''
     fi
 
-    local OPTIONS_UNKNOWN_OPTION OPTIONS_TYPE OPTIONS_TYPED OPTIONS OPTIONS_MANDATORY COMMAND_ARGS_WAIT_OPTIONS OPTIONS_IP OPTIONS_MANDATORY OPTIONS_NEXT_GROUP
+    local OPTIONS_UNKNOWN_OPTION OPTIONS_TYPE OPTIONS_TYPED OPTIONS OPTIONS_MANDATORY COMMAND_ARGS_WAIT_OPTIONS OPTIONS_IP OPTIONS_MANDATORY OPTIONS_NEXT_GROUP OPTIONS_REPEATABLE
     local COMMAND_CONNECTION_TYPE COMMAND_CONNECTION_ID OPTIONS_MANDATORY_IFNAME HELP_ONLY_AS_FIRST
     local COMMAND_CONNECTION_ACTIVE=""
 
@@ -1248,13 +1251,14 @@ _nmcli()
                                         fi
                                     else
                                         _nmcli_array_delete_at words 0 3
-                                        local OPTIONS=(password wep-key-type ifname bssid name private)
+                                        local OPTIONS=(password wep-key-type ifname bssid name private hidden)
                                         _nmcli_compl_ARGS
                                     fi
                                     ;;
                                 r|re|res|resc|resca|rescan)
                                     _nmcli_array_delete_at words 0 2
-                                    OPTIONS=(ifname)
+                                    OPTIONS_REPEATABLE=(ssid)
+                                    OPTIONS=(ifname ssid)
                                     _nmcli_compl_ARGS
                                     ;;
                             esac