summaryrefslogtreecommitdiffstats
path: root/completion/vpddecode.bash
blob: 0745127374910353e74e9498b253a17077398a97 (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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# bash completion for vpddecode                            -*- shell-script -*-

_comp_cmd_vpddecode() {
	local cur prev
	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}
	prev=${COMP_WORDS[COMP_CWORD - 1]}

	case $prev in
	-d | --dev-mem)
		: "${cur:=/dev/}"
		local IFS=$'\n'
		compopt -o filenames
		COMPREPLY=($(compgen -f -- "$cur"))
		return 0
		;;
	-s | --string)
		COMPREPLY=($(compgen -W '$(
			"$1" --string 2>&1 | while IFS=\$'\\n' read -r line ; do
				[[ $line == "  "* ]] && printf "%s\n" "$line"
			done
		' -- "$cur"))
		return 0
		;;
	-[hV] | --help | --version)
		return 0
		;;
	esac

	if [[ $cur == -* ]]; then
		COMPREPLY=($(compgen -W '
			--dev-mem
			--help
			--string
			--dump
			--version
		' -- "$cur"))
		return 0
	fi

} && complete -F _comp_cmd_vpddecode vpddecode

# ex: filetype=sh