]> git.ipfire.org Git - thirdparty/util-linux.git/blame - bash-completion/blkid
su: use lib/pty-session.c code for --pty
[thirdparty/util-linux.git] / bash-completion / blkid
CommitLineData
76dceb10
SK
1_blkid_module()
2{
15a74f75
SK
3 local cur prev OPTS OUTPUT_ALL
4 OUTPUT_ALL=''
76dceb10
SK
5 COMPREPLY=()
6 cur="${COMP_WORDS[COMP_CWORD]}"
7 prev="${COMP_WORDS[COMP_CWORD-1]}"
8 case $prev in
15a74f75 9 '-c'|'--cache-file')
ce3e6b15 10 local IFS=$'\n'
76dceb10
SK
11 compopt -o filenames
12 COMPREPLY=( $(compgen -f -- $cur) )
13 return 0
14 ;;
15a74f75 15 '-o'|'--output')
76dceb10
SK
16 COMPREPLY=( $(compgen -W "value device export full" -- $cur) )
17 return 0
18 ;;
15a74f75 19 '-s'|'--match-tag')
76dceb10
SK
20 COMPREPLY=( $(compgen -W "tag" -- $cur) )
21 return 0
22 ;;
15a74f75
SK
23 '-t'|'--match-token')
24 COMPREPLY=( $(compgen -W "TYPE= LABEL= UUID=" -- $cur) )
76dceb10
SK
25 return 0
26 ;;
15a74f75 27 '-L'|'--label')
76dceb10
SK
28 COMPREPLY=( $(compgen -W "$(cd /dev/disk/by-label/ 2>/dev/null && echo *)" -- $cur) )
29 return 0
30 ;;
15a74f75 31 '-U'|'--uuid')
76dceb10
SK
32 COMPREPLY=( $(compgen -W "$(cd /dev/disk/by-uuid/ 2>/dev/null && echo *)" -- $cur) )
33 return 0
34 ;;
15a74f75 35 '-S'|'--size')
76dceb10
SK
36 COMPREPLY=( $(compgen -W "size" -- $cur) )
37 return 0
38 ;;
15a74f75 39 '-O'|'--offset')
76dceb10
SK
40 COMPREPLY=( $(compgen -W "offset" -- $cur) )
41 return 0
42 ;;
15a74f75
SK
43 '-u'|'--usages')
44 OUTPUT_ALL={,no}{filesystem,raid,crypto,other}
76dceb10 45 ;;
15a74f75
SK
46 '-n'|'--match-types')
47 OUTPUT_ALL="
48 $(awk '{print $NF}' /proc/filesystems)
49 $(\ls /lib/modules/$(uname -r)/kernel/fs)
50 "
76dceb10 51 ;;
15a74f75 52 '-h'|'--help'|'-V'|'--version')
d4f9b8d7
VS
53 return 0
54 ;;
76dceb10 55 esac
15a74f75
SK
56 if [ -n "$OUTPUT_ALL" ]; then
57 local prefix realcur OUTPUT_ALL OUTPUT
58 realcur="${cur##*,}"
59 prefix="${cur%$realcur}"
60 for WORD in $OUTPUT_ALL; do
61 if ! [[ $prefix == *"$WORD"* ]]; then
abbcec4f 62 OUTPUT="$WORD ${OUTPUT:-""}"
15a74f75
SK
63 fi
64 done
65 compopt -o nospace
66 COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- "$realcur") )
67 return 0
68 fi
76dceb10
SK
69 case $cur in
70 -*)
15a74f75
SK
71 OPTS="
72 --cache-file
73 --no-encoding
74 --garbage-collect
75 --output
76 --list-filesystems
77 --match-tag
78 --match-token
79 --list-one
80 --label
81 --uuid
82 --probe
83 --info
84 --size
85 --offset
86 --usages
87 --match-types
ba5e7b7e 88 --no-part-details
15a74f75
SK
89 --help
90 --version
91 "
76dceb10
SK
92 COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
93 return 0
94 ;;
95 esac
0c8865f8 96 compopt -o bashdefault -o default
53154dae 97 COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
76dceb10
SK
98 return 0
99}
100complete -F _blkid_module blkid