Check completion for prefixes names.

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>
This commit is contained in:
Edênis Freindorfer Azevedo 2021-09-06 17:42:23 -03:00
parent 83ca245532
commit c227466673
No known key found for this signature in database
GPG Key ID: F7F1907D677FB8C9

View 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