bash-completion: also suggests device units
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 17 Dec 2018 05:44:38 +0000 (14:44 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 17 Dec 2018 05:44:58 +0000 (14:44 +0900)
Follow-up for b6854081ffb26c32a8d1440346f9ee5b9d2f1e57.

shell-completion/bash/udevadm

index 1789454..7b33839 100644 (file)
@@ -37,6 +37,11 @@ __get_all_devs() {
         done
 }
 
+__get_all_device_units() {
+        systemctl list-units -t device --full --no-legend --no-pager 2>/dev/null | \
+                { while read -r a b; do echo "$a"; done; }
+}
+
 _udevadm() {
         local i verb comps builtin
         local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
@@ -101,8 +106,8 @@ _udevadm() {
                         if [[ $cur = -* ]]; then
                                 comps="${OPTS[COMMON]} ${OPTS[INFO_STANDALONE]} ${OPTS[INFO_ARG]}"
                         else
+                                comps=$( __get_all_sysdevs; __get_all_device_units )
                                 local IFS=$'\n'
-                                comps=$( __get_all_sysdevs )
                         fi
                         ;;
                 'trigger')
@@ -132,8 +137,8 @@ _udevadm() {
                         if [[ $cur = -* ]]; then
                                 comps="${OPTS[COMMON]} ${OPTS[TRIGGER_STANDALONE]} ${OPTS[TRIGGER_ARG]}"
                         else
+                                comps=$( __get_all_sysdevs; __get_all_device_units )
                                 local IFS=$'\n'
-                                comps=$( __get_all_sysdevs )
                         fi
                         ;;
                 'settle')