diff options
author | Thomas Haller <thaller@redhat.com> | 2013-10-24 14:42:20 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2013-10-24 14:52:08 +0200 |
commit | 2a7c976539b3476aee22e1b4a8378cccd28bbdba (patch) | |
tree | 9ccb9ce0820fd8b8d71b488562f3c10b38941dcf | |
parent | 5bbde1b87e619a6a2d82311b7796e548a515123f (diff) | |
download | NetworkManager-2a7c976539b3476aee22e1b4a8378cccd28bbdba.tar.gz |
cli: show property names in bash completion for `nmcli connection modify`
Signed-off-by: Thomas Haller <thaller@redhat.com>
-rw-r--r-- | cli/completion/nmcli | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/cli/completion/nmcli b/cli/completion/nmcli index 393789b84a..30497af814 100644 --- a/cli/completion/nmcli +++ b/cli/completion/nmcli @@ -464,17 +464,15 @@ _nmcli_complete_COMMAND_ARGS() # as id|uuid|path|apath. Parse that connection parameter. _nmcli_complete_COMMAND_CONNECTION() { - local IS_VALID_OPTION=0 - for OPT in "${OPTIONS[@]}"; do - if [[ "$OPT" = "${words[0]}" ]]; then - IS_VALID_OPTION=1 - break - fi - done - if [[ $IS_VALID_OPTION -ne 1 ]]; then + ARRAY=("${OPTIONS[@]}") + if ! _nmcli_array_has_value "${words[0]}"; then + COMMAND_CONNECTION_TYPE= + COMMAND_CONNECTION_ID="${words[0]}" words=("${words[@]:1}") return 1 fi + COMMAND_CONNECTION_TYPE="${words[0]}" + COMMAND_CONNECTION_ID="${words[1]}" case "${words[0]}" in id) if [[ ${#words[@]} -eq 2 ]]; then @@ -505,6 +503,8 @@ _nmcli_complete_COMMAND_CONNECTION() words=("${words[@]:2}") ;; *) + COMMAND_CONNECTION_TYPE= + COMMAND_CONNECTION_ID="${words[0]}" words=("${words[@]:1}") ;; esac @@ -526,6 +526,7 @@ _nmcli() local command="${words[1]}" local OPTIONS_UNKNOWN_OPTION OPTIONS_TYPE OPTIONS_TYPED OPTIONS OPTIONS_MANDATORY COMMAND_ARGS_WAIT_OPTIONS ARRAY OPTIONS_IP OPTIONS_MANDATORY OPTIONS_NEXT_GROUP + local COMMAND_CONNECTION_TYPE COMMAND_CONNECTION_ID case "${words[0]}" in h|he|hel|help) @@ -821,7 +822,7 @@ _nmcli() words=("${words[@]:2}") OPTIONS=(id uuid path apath) _nmcli_complete_COMMAND_CONNECTION && return 0 - # FIXME: completion for <setting>.<property> value + _nmcli_list_nl "$(nmcli connection show configured "${COMMAND_CONNECTION_TYPE:-id}" "$COMMAND_CONNECTION_ID" 2>/dev/null | sed -n 's/^\([^:]\+\):.*/\1/p')" fi ;; de|del|dele|delet|delete) |