[systemd-devel] [PATCH] shell-completion/bash: add add-wants and add-requires
Zbigniew Jędrzejewski-Szmek
zbyszek at in.waw.pl
Sat Oct 18 07:42:49 PDT 2014
On Thu, Oct 16, 2014 at 09:41:02AM +0200, Lukas Nykryn wrote:
> ---
> shell-completion/bash/systemctl.in | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/shell-completion/bash/systemctl.in b/shell-completion/bash/systemctl.in
> index afa80da..30ba668 100644
> --- a/shell-completion/bash/systemctl.in
> +++ b/shell-completion/bash/systemctl.in
> @@ -74,6 +74,7 @@ __get_disabled_units () { __systemctl $1 list-unit-files \
> | { while read -r a b c ; do [[ $b == "disabled" ]] && echo " $a"; done; }; }
> __get_masked_units () { __systemctl $1 list-unit-files \
> | { while read -r a b c ; do [[ $b == "masked" ]] && echo " $a"; done; }; }
> +__get_all_unit_files () { { __systemctl $1 list-unit-files; } | { while read -r a b; do echo " $a"; done; }; }
>
> _systemctl () {
> local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
> @@ -139,6 +140,7 @@ _systemctl () {
> [ISOLATABLE_UNITS]='isolate'
> [RELOADABLE_UNITS]='reload condreload reload-or-try-restart force-reload'
> [RESTARTABLE_UNITS]='restart reload-or-restart'
> + [TARGET_AND_UNITS]='add-wants add-requires'
> [MASKED_UNITS]='unmask'
> [JOBS]='cancel'
> [SNAPSHOTS]='delete'
> @@ -217,6 +219,16 @@ _systemctl () {
> comps=$( __get_masked_units $mode )
> compopt -o filenames
>
> + elif __contains_word "$verb" ${VERBS[TARGET_AND_UNITS]}; then
> + if __contains_word "$prev" ${VERBS[TARGET_AND_UNITS]} \
> + || __contains_word "$prev" ${OPTS[STANDALONE]}; then
> + comps=$( __systemctl $mode list-unit-files --type target --full --all \
__systemctl includes --full already.
> + | { while read -r a b; do echo " $a"; done; } )
> + else
> + comps=$( __get_all_unit_files $mode )
> + fi
> + compopt -o filenames
> +
> elif __contains_word "$verb" ${VERBS[STANDALONE]} ${VERBS[NAME]}; then
> comps=''
Please push. What about zsh?
Zbyszek
More information about the systemd-devel
mailing list