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

Reply via email to