summaryrefslogtreecommitdiff
path: root/bash_completion.d/initramfs-tools
blob: a52074f62a5ea58febb8320a08c65fcdda6e7ea7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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