]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
bash-completion/busctl: support wait command
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 14 Oct 2024 01:42:25 +0000 (10:42 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 14 Oct 2024 08:39:38 +0000 (09:39 +0100)
Follow-up for 30465af656a10c124e7fa9fb33f7ad8454e9af2e.

shell-completion/bash/busctl

index ea88cca8c6e4f8c81724b5ce48c2b9920d12cc9c..441b2c7d4355f876c0ba83857b676a3056281139 100644 (file)
@@ -128,6 +128,7 @@ _busctl() {
         [OBJECT]='introspect'
         [METHOD]='call'
         [EMIT]='emit'
+        [WAIT]='wait'
         [PROPERTY_GET]='get-property'
         [PROPERTY_SET]='set-property'
     )
@@ -174,6 +175,18 @@ _busctl() {
         fi
     elif __contains_word "$verb" ${VERBS[EMIT]}; then
         comps=''
+    elif __contains_word "$verb" ${VERBS[WAIT]}; then
+        if [[ $n -eq 1 ]] ; then
+            comps=$( __get_busnames $mode)
+        elif [[ $n -eq 2 ]] ; then
+            comps=$( __get_objects $mode ${COMP_WORDS[COMP_CWORD-1]})
+        elif [[ $n -eq 3 ]] ; then
+            comps=$( __get_interfaces $mode ${COMP_WORDS[COMP_CWORD-2]} ${COMP_WORDS[COMP_CWORD-1]})
+        elif [[ $n -eq 4 ]] ; then
+            comps=$( __get_members $mode ${COMP_WORDS[COMP_CWORD-3]} ${COMP_WORDS[COMP_CWORD-2]} ${COMP_WORDS[COMP_CWORD-1]} signal)
+        else
+            comps=''
+        fi
     elif __contains_word "$verb" ${VERBS[PROPERTY_GET]}; then
         if [[ $n -eq 1 ]] ; then
             comps=$( __get_busnames $mode)