summary refs log tree commit diff
path: root/clients/cli/nmcli-completion
diff options
context:
space:
mode:
authorAron Xu <aron@debian.org>2016-12-20 20:06:37 +0800
committerAron Xu <aron@debian.org>2016-12-20 20:06:37 +0800
commit45cb5bb3c0e6edb887cf69b417fcaf7053814a9b (patch)
tree795f8d6a3aa1145e4ba8fa1564f39425ea0c6ed9 /clients/cli/nmcli-completion
parent270c4830551c9810ad4e83f9a1db2b1cb946208c (diff)
Imported Upstream version 1.4.4 upstream/1.4.4
Diffstat (limited to 'clients/cli/nmcli-completion')
-rw-r--r--clients/cli/nmcli-completion7
1 files changed, 6 insertions, 1 deletions
diff --git a/clients/cli/nmcli-completion b/clients/cli/nmcli-completion
index e78ab85c..e1716f60 100644
--- a/clients/cli/nmcli-completion
+++ b/clients/cli/nmcli-completion
@@ -25,10 +25,11 @@ _nmcli_list_nl()
             # [']bla'bla"bla\bla bla --> [']bla'\''bla"bla\bla bla
             COMPREPLY[$i]="${entry//\'/${escaped_single_quote}}"
         elif [[ "${cur:0:1}" == '"' ]]; then
-            # started with double quote, escaping all double quotes and all backslashes
+            # started with double quote, escaping all double quotes, backslashes and !
             # ["]bla'bla"bla\bla bla --> ["]bla'bla\"bla\\bla bla
             entry="${entry//\\/\\\\}"
             entry="${entry//\"/\\\"}"
+            entry="${entry//!/\"\\!\"}"
             COMPREPLY[$i]="$entry"
         else
             # no quotes in front, escaping _everything_
@@ -37,6 +38,10 @@ _nmcli_list_nl()
             entry="${entry//\'/\'}"
             entry="${entry//\"/\\\"}"
             entry="${entry// /\\ }"
+            entry="${entry//\(/\\(}"
+            entry="${entry//)/\\)}"
+            entry="${entry//!/\\!}"
+            entry="${entry//&/\\&}"
             COMPREPLY[$i]="$entry"
         fi
         (( i++ ))