3 local cur prev OPTS LSBLK_COLS_ALL
5 cur="${COMP_WORDS[COMP_CWORD]}"
6 prev="${COMP_WORDS[COMP_CWORD-1]}"
9 NAME KNAME MAJ:MIN FSTYPE MOUNTPOINT LABEL UUID PARTTYPE
10 PARTLABEL PARTUUID PARTFLAGS RA RO RM HOTPLUG MODEL SERIAL SIZE
11 STATE OWNER GROUP MODE ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC
12 ROTA SCHED RQ-SIZE TYPE DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO
13 WSAME WWN RAND PKNAME HCTL TRAN SUBSYSTEMS REV VENDOR
17 '-e'|'--exclude'|'-I'|'--include')
18 local realcur prefix MAJOR_ALL MAJOR I J
20 prefix="${cur%$realcur}"
21 for I in /sys/dev/block/*; do
23 MAJOR_ALL="${MAJOR_ALL:-""} ${J%%:*}"
25 for WORD in ${MAJOR_ALL:-""}; do
26 if ! [[ $prefix == *"$WORD"* ]]; then
27 MAJOR="$WORD ${MAJOR:-""}"
31 COMPREPLY=( $(compgen -P "$prefix" -W "${MAJOR:-""}" -S ',' -- $realcur) )
34 '-o'|'--output'|'-M'|'--dedup')
35 local prefix realcur LSBLK_COLS
37 prefix="${cur%$realcur}"
38 for WORD in $LSBLK_COLS_ALL; do
39 if ! [[ $prefix == *"$WORD"* ]]; then
40 LSBLK_COLS="$WORD ${LSBLK_COLS:-""}"
44 COMPREPLY=( $(compgen -P "$prefix" -W "$LSBLK_COLS" -S ',' -- $realcur) )
49 COMPREPLY=( $(compgen -W "$LSBLK_COLS_ALL" -- $cur) )
52 '-h'|'--help'|'-V'|'--version')
84 COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
88 COMPREPLY=( $(compgen -W "$($1 -pnro name)" -- $cur) )
91 complete -F _lsblk_module lsblk