just a remember about bash rc.d script. But i have a zsh one pending too. On Thu, May 5, 2011 at 3:04 AM, Sebastien Luttringer <[email protected]> wrote: > Signed-off-by: Sebastien Luttringer <[email protected]> > --- > Makefile | 3 ++- > bash-completion | 18 ++++++++++++++++++ > 2 files changed, 20 insertions(+), 1 deletions(-) > create mode 100644 bash-completion > > diff --git a/Makefile b/Makefile > index 6923840..69f008a 100644 > --- a/Makefile > +++ b/Makefile > @@ -1,5 +1,5 @@ > VER := $(shell git describe) > -DIRS := /etc/rc.d /etc/conf.d /etc/rc.d/functions.d /etc/cron.hourly /sbin > +DIRS := /etc/rc.d /etc/conf.d /etc/rc.d/functions.d /etc/cron.hourly /sbin > /etc/bash_completion.d > > minilogd: minilogd.o > > @@ -13,6 +13,7 @@ install: minilogd installdirs > install -m755 -t $(DESTDIR)/etc/cron.hourly adjtime > install -m755 -t $(DESTDIR)/etc/rc.d functions hwclock network netfs > install -m755 -t $(DESTDIR)/sbin minilogd rc.d > + install -m644 -T bash-completion $(DESTDIR)/etc/bash_completion.d/rc.d > > clean: > rm -f minilogd minilogd.o > diff --git a/bash-completion b/bash-completion > new file mode 100644 > index 0000000..3b0f464 > --- /dev/null > +++ b/bash-completion > @@ -0,0 +1,18 @@ > +# rc.d bash completion by Seblu <[email protected]> > + > +_rc.d () > +{ > + local action="help list start stop reload restart" > + local cur="${COMP_WORDS[COMP_CWORD]}" > + local caction="${COMP_WORDS[1]}" > + if ((${COMP_CWORD} == 1)); then > + COMPREPLY=($(compgen -W "${action}" -- "$cur")) > + elif [[ "$caction" == "help" || "$caction" == "list" ]]; then > + COMPREPLY=() > + elif ((${COMP_CWORD} > 1)); then > + COMPREPLY=($( compgen -W "$(find /etc/rc.d -maxdepth 1 -type > f -executable -printf '%f\n')" -- "$cur" )) > + fi > +} > +complete -F _rc.d rc.d > + > +# vim: set ts=2 sw=2 ft=sh noet: > -- > Sebastien "Seblu" Luttringer > >
-- Sébastien Luttringer www.seblu.net
