summaryrefslogtreecommitdiff
path: root/bash_completion.d
diff options
context:
space:
mode:
authorMichael Prokop <mika@debian.org>2010-06-14 16:04:08 +0200
committerMichael Prokop <mika@debian.org>2010-06-14 16:04:08 +0200
commitb1fff5e9e4b0ed38f018132cef28330eac7a963c (patch)
tree08379ac78ca8488565e0e66068272186a2213d90 /bash_completion.d
parent3a02c6f37d4c331b347692a0200941c4c59b3ea3 (diff)
downloadinitramfs-tools-b1fff5e9e4b0ed38f018132cef28330eac7a963c.tar.gz
initramfs-tools-b1fff5e9e4b0ed38f018132cef28330eac7a963c.zip
add bash-completion for update-initramfs
Closes: #537139 Thanks: David Paleino <dapal@debian.org> Thanks: Stéphane Jourdois <stephane@jourdois.fr> Signed-off-by: Michael Prokop <mika@debian.org>
Diffstat (limited to 'bash_completion.d')
-rw-r--r--bash_completion.d/initramfs-tools26
1 files changed, 26 insertions, 0 deletions
diff --git a/bash_completion.d/initramfs-tools b/bash_completion.d/initramfs-tools
new file mode 100644
index 0000000..a52074f
--- /dev/null
+++ b/bash_completion.d/initramfs-tools
@@ -0,0 +1,26 @@
+# update-initramfs(8) completion
+
+_update_initramfs()
+{
+ local cur prev valid_options
+
+ # TODO: this can be "_get_comp_words_by_ref cur prev" once
+ # bash-completion >= 1.2 is available, see #537139
+ cur=$(_get_cword)
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ # The only option that takes an argument is -k
+ if [[ "$prev" == '-k' ]]; then
+ # Complete with kernel versions
+ _kernel_versions
+ COMPREPLY=( $( compgen -W '${COMPREPLY[@]} all' -- "$cur" ) )
+ return;
+ fi
+
+ # Complete with available options (obtained from -h)
+ valid_options=$( update-initramfs -h 2>&1 | \
+ sed -e '/^ -/!d;s/^ \(-\w\+\).*/\1/' )
+ COMPREPLY=( $( compgen -W "$valid_options" -- $cur ) )
+}
+
+complete -F _update_initramfs update-initramfs