[arch-projects] [MKINITCPIO][PATCH 1/5] Add bash completion to mkinitcpio
Sebastien Luttringer
seblu at seblu.net
Sun Jun 26 15:17:42 EDT 2011
It's annoying to remember the name of preset each time
Signed-off-by: Sebastien Luttringer <seblu at seblu.net>
---
Makefile | 1 +
bash-completion | 20 ++++++++++++++++++++
2 files changed, 21 insertions(+), 0 deletions(-)
create mode 100644 bash-completion
diff --git a/Makefile b/Makefile
index b77e088..4068f23 100644
--- a/Makefile
+++ b/Makefile
@@ -40,6 +40,7 @@ install: all
install -m644 -t ${DESTDIR}/etc/mkinitcpio.d mkinitcpio.d/*
install -m644 mkinitcpio.5 ${DESTDIR}/usr/share/man/man5/mkinitcpio.5
+ install -m644 bash-completion ${DESTDIR}/etc/bash_completion.d/mkinitcpio
doc: mkinitcpio.5
mkinitcpio.5: mkinitcpio.5.txt
diff --git a/bash-completion b/bash-completion
new file mode 100644
index 0000000..49cd99e
--- /dev/null
+++ b/bash-completion
@@ -0,0 +1,20 @@
+# mkinitcpio bash completion by Seblu <seblu at seblu.net>
+
+_mkinitcpio ()
+{
+ local action="-c -k -s -b -g -a -p -m -S -v -M -L -H -h"
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ local caction="${COMP_WORDS[COMP_CWORD-1]}"
+ case "$caction" in
+ -c|-g|-s|-a) COMPREPLY=($(compgen -f -- $cur));;
+ -k) COMPREPLY=($(cd /lib/modules && compgen -d -- $cur));;
+ -b) COMPREPLY=($(compgen -d "$cur" -- $cur));;
+ -p) COMPREPLY=($(cd /etc/mkinitcpio.d/ && compgen -X '!*.preset' -f -- $cur|sed 's/\.preset//'));;
+ -H|-S) COMPREPLY=($(cd /lib/initcpio/install/ && compgen -f -- $cur));;
+ -m) COMPREPLY=();;
+ *) COMPREPLY=($(compgen -W "${action}" -- "$cur"));;
+ esac
+}
+complete -F _mkinitcpio mkinitcpio
+
+# vim: set ts=2 sw=2 ft=sh noet:
--
Sebastien "Seblu" Luttringer
More information about the arch-projects
mailing list