]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
Check completion for prefixes names.
authorEdênis Freindorfer Azevedo <edenisfa@gmail.com>
Mon, 6 Sep 2021 20:42:23 +0000 (17:42 -0300)
committerEdênis Freindorfer Azevedo <edenisfa@gmail.com>
Wed, 8 Sep 2021 01:24:06 +0000 (22:24 -0300)
If a name is a prefix of another word available for completion, adjust
to show all words with given prefix.

Signed-off-by: Edênis Freindorfer Azevedo <edenisfa@gmail.com>
config/bash/lxc.in

index a5ed3562cf61d7ea15ad06f9c835d77589b4edd3..41d7b622548b7fb328e2a395c324dab4dc213017 100644 (file)
@@ -39,6 +39,7 @@ __lxc_check_name_present() {
     mapfile -t names < <(command lxc-ls -1)
     local -r shortoptnamexp="^-[0-9A-Za-mo-z]*n[0-9A-Za-mo-z]*$"
     local parsed
+    local -r current="${cur//[\\\"\']}"
     mapfile -t names < <(command lxc-ls -1)
     # If `--name` or `-n` are present, do not complete with container names.
     for param in "${words[@]}"; do
@@ -50,7 +51,9 @@ __lxc_check_name_present() {
             return 0
         fi
         for name in "${names[@]}"; do
-            [[ "${parsed}" == "${name}" ]] && return 0
+            if [[ "${parsed}" == "${name}" ]] && [[ "${current}" != "${parsed}" ]]; then
+                return 0
+            fi
         done
     done
     return 1