diff options
Diffstat (limited to 'clients/cli/nmcli-completion')
-rw-r--r-- | clients/cli/nmcli-completion | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/clients/cli/nmcli-completion b/clients/cli/nmcli-completion index 2e9a149f5b..7b653da414 100644 --- a/clients/cli/nmcli-completion +++ b/clients/cli/nmcli-completion @@ -763,19 +763,24 @@ _nmcli_compl_PROPERTIES() { while [[ "${#words[@]}" -gt 0 ]]; do if [[ ${#words[@]} -le 1 ]]; then - local PREFIX="" + local PREFIX="" item list="" if [[ "${words[0]:0:1}" == [+-] ]]; then PREFIX="${words[0]:0:1}" fi - _nmcli_list_nl "$(echo -e 'print\nquit\nyes' |nmcli c edit "$@" 2>/dev/null |awk -F: '/\..*:/ {print "'$PREFIX'"$1}')" + item="$(nmcli c modify --complete "$@" 2>/dev/null)" + ### add prefix to each element + for item in $item; do + list="${list}${PREFIX}${item} " + done + _nmcli_list "$list" return 0 elif [[ ${#words[@]} -le 2 ]]; then return 0 fi _nmcli_array_delete_at words 0 1 done - _nmcli_list_nl "$(echo -e 'print\nquit\nyes' |nmcli c edit "$@" 2>/dev/null |awk -F: '/\..*:/ {print $1}')" + _nmcli_list "$(nmcli c modify --complete "$@" 2>/dev/null)" } _nmcli() |