EVERYTHING FROM THE OTHER REPO
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
_lsblk_module()
|
||||
{
|
||||
local cur prev OPTS LSBLK_COLS_ALL
|
||||
COMPREPLY=()
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
|
||||
LSBLK_COLS_ALL="
|
||||
ALIGNMENT ID-LINK ID DISC-ALN DAX DISC-GRAN DISK-SEQ DISC-MAX
|
||||
DISC-ZERO FSAVAIL FSROOTS FSSIZE FSTYPE FSUSED FSUSE% FSVER
|
||||
GROUP HCTL HOTPLUG KNAME LABEL LOG-SEC MAJ:MIN MAJ MIN MIN-IO
|
||||
MODE MODEL MQ NAME OPT-IO OWNER PARTFLAGS PARTLABEL PARTN
|
||||
PARTTYPE PARTTYPENAME PARTUUID PATH PHY-SEC PKNAME PTTYPE
|
||||
PTUUID RA RAND REV RM RO ROTA RQ-SIZE SCHED SERIAL SIZE START
|
||||
STATE SUBSYSTEMS MOUNTPOINT MOUNTPOINTS TRAN TYPE UUID VENDOR
|
||||
WSAME WWN ZONED ZONE-SZ ZONE-WGRAN ZONE-APP ZONE-NR ZONE-OMAX
|
||||
ZONE-AMAX
|
||||
"
|
||||
case $prev in
|
||||
'-e'|'--exclude'|'-I'|'--include')
|
||||
local realcur prefix MAJOR_ALL MAJOR I J
|
||||
realcur="${cur##*,}"
|
||||
prefix="${cur%$realcur}"
|
||||
for I in /sys/dev/block/*; do
|
||||
J=${I##*/}
|
||||
MAJOR_ALL="${MAJOR_ALL:-""} ${J%%:*}"
|
||||
done
|
||||
for WORD in ${MAJOR_ALL:-""}; do
|
||||
if ! [[ $prefix == *"$WORD"* ]]; then
|
||||
MAJOR="$WORD ${MAJOR:-""}"
|
||||
fi
|
||||
done
|
||||
compopt -o nospace
|
||||
COMPREPLY=( $(compgen -P "$prefix" -W "${MAJOR:-""}" -S ',' -- $realcur) )
|
||||
return 0
|
||||
;;
|
||||
'-o'|'--output'|'-E'|'--dedup')
|
||||
local prefix realcur LSBLK_COLS
|
||||
realcur="${cur##*,}"
|
||||
prefix="${cur%$realcur}"
|
||||
for WORD in $LSBLK_COLS_ALL; do
|
||||
if ! [[ $prefix == *"$WORD"* ]]; then
|
||||
LSBLK_COLS="$WORD ${LSBLK_COLS:-""}"
|
||||
fi
|
||||
done
|
||||
compopt -o nospace
|
||||
COMPREPLY=( $(compgen -P "$prefix" -W "$LSBLK_COLS" -S ',' -- $realcur) )
|
||||
return 0
|
||||
;;
|
||||
'--properties-by')
|
||||
compopt -o nospace
|
||||
COMPREPLY=( $(compgen -W "file udev blkid none" -- $cur) )
|
||||
return 0
|
||||
;;
|
||||
'-x'|'--sort')
|
||||
compopt -o nospace
|
||||
COMPREPLY=( $(compgen -W "$LSBLK_COLS_ALL" -- $cur) )
|
||||
return 0
|
||||
;;
|
||||
'-h'|'--help'|'-V'|'--version')
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
case $cur in
|
||||
-*)
|
||||
OPTS="--all
|
||||
--bytes
|
||||
--nodeps
|
||||
--discard
|
||||
--exclude
|
||||
--fs
|
||||
--filter
|
||||
--highlight
|
||||
--hyperlink
|
||||
--ct
|
||||
--ct-filter
|
||||
--help
|
||||
--include
|
||||
--json
|
||||
--ascii
|
||||
--list
|
||||
--dedup
|
||||
--merge
|
||||
--perms
|
||||
--noheadings
|
||||
--output
|
||||
--output-all
|
||||
--paths
|
||||
--pairs
|
||||
--properties-by
|
||||
--raw
|
||||
--inverse
|
||||
--topology
|
||||
--scsi
|
||||
--nvme
|
||||
--virtio
|
||||
--sort
|
||||
--width
|
||||
--list-columns
|
||||
--help
|
||||
--version"
|
||||
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
compopt -o bashdefault -o default
|
||||
COMPREPLY=( $(compgen -W "$($1 -pnro name)" -- $cur) )
|
||||
return 0
|
||||
}
|
||||
complete -F _lsblk_module lsblk
|
||||
Reference in New Issue
Block a user