]> git.ipfire.org Git - thirdparty/util-linux.git/blame - bash-completion/partx
rev: be careful with close()
[thirdparty/util-linux.git] / bash-completion / partx
CommitLineData
bf60993c
SK
1_partx_module()
2{
b5b80e5a 3 local cur prev OPTS OUTPUT_ALL
bf60993c 4 COMPREPLY=()
b5b80e5a 5 OUTPUT_ALL="NR START END SECTORS SIZE NAME UUID TYPE FLAGS SCHEME"
bf60993c
SK
6 cur="${COMP_WORDS[COMP_CWORD]}"
7 prev="${COMP_WORDS[COMP_CWORD-1]}"
8 case $prev in
9 '-n'|'--nr')
10 return 0
11 ;;
12 '-o'|'--output')
b5b80e5a
BE
13 local realcur prefix OUTPUT
14 realcur="${cur##*,}"
15 prefix="${cur%$realcur}"
16 for WORD in $OUTPUT_ALL; do
17 if ! [[ $prefix == *"$WORD"* ]]; then
abbcec4f 18 OUTPUT="$WORD ${OUTPUT:-""}"
b5b80e5a
BE
19 fi
20 done
bf60993c 21 compopt -o nospace
b5b80e5a 22 COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- $realcur) )
bf60993c
SK
23 return 0
24 ;;
99d8ed0a
SK
25 '-S'|'--sector-size')
26 COMPREPLY=( $(compgen -W "size" -- $cur) )
27 return 0
28 ;;
bf60993c 29 '-t'|'--type')
2cdaf94b 30 COMPREPLY=( $(compgen -W "$(partx --list-types)" -- $cur) )
bf60993c
SK
31 return 0
32 ;;
d4f9b8d7
VS
33 '-h'|'--help'|'-V'|'--version')
34 return 0
35 ;;
bf60993c
SK
36 esac
37 case $cur in
38 -*)
99d8ed0a
SK
39 OPTS="
40 --add
41 --delete
42 --update
43 --show
44 --bytes
45 --noheadings
46 --nr
47 --output
ba1c9075 48 --output-all
99d8ed0a
SK
49 --pairs
50 --raw
51 --sector-size
52 --type
2cdaf94b 53 --list-types
99d8ed0a
SK
54 --verbose
55 --help
56 --version
57 "
bf60993c
SK
58 COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
59 return 0
60 ;;
61 esac
53154dae 62 COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
bf60993c
SK
63 return 0
64}
65complete -F _partx_module partx