From 82ebb6ba1f36a9f983841b69a795ff237790097c Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Wed, 10 Jan 2018 21:47:08 +0900 Subject: [PATCH] bash-completion: cgls: suggests units --- shell-completion/bash/systemd-cgls | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/shell-completion/bash/systemd-cgls b/shell-completion/bash/systemd-cgls index 0f579a6..34c7b9e 100644 --- a/shell-completion/bash/systemd-cgls +++ b/shell-completion/bash/systemd-cgls @@ -30,13 +30,21 @@ __get_machines() { machinectl list --no-legend --no-pager | { while read a b; do echo " $a"; done; }; } +__get_units_have_cgroup() { + systemctl $1 list-units | { + while read -r a b c d; do + [[ $c == "active" && ${a##*.} =~ (service|socket|mount|swap|slice|scope) ]] && echo " $a" + done + }; +} + _systemd_cgls() { local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} local i verb comps local -A OPTS=( [STANDALONE]='-h --help --version --all -l --full -k --no-pager' - [ARG]='-M --machine' + [ARG]='-M --machine -u --unit --user-unit' ) _init_completion || return @@ -46,6 +54,12 @@ _systemd_cgls() { --machine|-M) comps=$( __get_machines ) ;; + --unit|-u) + comps=$( __get_units_have_cgroup --system ) + ;; + --user-unit) + comps=$( __get_units_have_cgroup --user ) + ;; esac COMPREPLY=( $(compgen -W '$comps' -- "$cur") ) return 0 -- 2.7.4