[systemd-devel] [PATCH] shell-completion/bash: add add-wants and add-requires

Lukáš Nykrýn lnykryn at redhat.com
Mon Oct 20 00:24:00 PDT 2014


Zbigniew Jędrzejewski-Szmek píše v So 18. 10. 2014 v 16:42 +0200:
> 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.
ok, removed
> > +                        | { 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

Thanks for review. Pushed. And I am not familiar with zsh, so I will
leave that to someone else.

Lukas




More information about the systemd-devel mailing list