summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2013-10-24 14:42:20 +0200
committerThomas Haller <thaller@redhat.com>2013-10-24 14:52:08 +0200
commit2a7c976539b3476aee22e1b4a8378cccd28bbdba (patch)
tree9ccb9ce0820fd8b8d71b488562f3c10b38941dcf
parent5bbde1b87e619a6a2d82311b7796e548a515123f (diff)
downloadNetworkManager-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/nmcli19
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)