blob: 57b34c3f45e41ed7be9634ad183f5be7c79b222c (
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
_blkid_module()
{
local cur prev OPTS OUTPUT_ALL
OUTPUT_ALL=''
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-c'|'--cache-file')
local IFS=$'\n'
compopt -o filenames
COMPREPLY=( $(compgen -f -- $cur) )
return 0
;;
'-o'|'--output')
COMPREPLY=( $(compgen -W "value device export full" -- $cur) )
return 0
;;
'-s'|'--match-tag')
COMPREPLY=( $(compgen -W "tag" -- $cur) )
return 0
;;
'-t'|'--match-token')
COMPREPLY=( $(compgen -W "TYPE= LABEL= UUID=" -- $cur) )
return 0
;;
'-L'|'--label')
COMPREPLY=( $(compgen -W "$(cd /dev/disk/by-label/ 2>/dev/null && echo *)" -- $cur) )
return 0
;;
'-U'|'--uuid')
COMPREPLY=( $(compgen -W "$(cd /dev/disk/by-uuid/ 2>/dev/null && echo *)" -- $cur) )
return 0
;;
'-S'|'--size')
COMPREPLY=( $(compgen -W "size" -- $cur) )
return 0
;;
'-O'|'--offset')
COMPREPLY=( $(compgen -W "offset" -- $cur) )
return 0
;;
'-u'|'--usages')
OUTPUT_ALL={,no}{filesystem,raid,crypto,other}
;;
'-n'|'--match-types')
OUTPUT_ALL="
$(awk '{print $NF}' /proc/filesystems)
$(\ls /lib/modules/$(uname -r)/kernel/fs)
"
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
if [ -n "$OUTPUT_ALL" ]; then
local prefix realcur OUTPUT_ALL OUTPUT
realcur="${cur##*,}"
prefix="${cur%$realcur}"
for WORD in $OUTPUT_ALL; do
if ! [[ $prefix == *"$WORD"* ]]; then
OUTPUT="$WORD ${OUTPUT:-""}"
fi
done
compopt -o nospace
COMPREPLY=( $(compgen -P "$prefix" -W "$OUTPUT" -S ',' -- "$realcur") )
return 0
fi
case $cur in
-*)
OPTS="
--cache-file
--no-encoding
--garbage-collect
--output
--list-filesystems
--match-tag
--match-token
--list-one
--label
--uuid
--probe
--info
--size
--offset
--usages
--match-types
--help
--version
"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) )
return 0
}
complete -F _blkid_module blkid
|