| _blkid_module() | |
| { | |
| local cur prev OPTS | |
| COMPREPLY=() | |
| cur="${COMP_WORDS[COMP_CWORD]}" | |
| prev="${COMP_WORDS[COMP_CWORD-1]}" | |
| case $prev in | |
| '-c') | |
| local IFS=$'\n' | |
| compopt -o filenames | |
| COMPREPLY=( $(compgen -f -- $cur) ) | |
| return 0 | |
| ;; | |
| '-o') | |
| COMPREPLY=( $(compgen -W "value device export full" -- $cur) ) | |
| return 0 | |
| ;; | |
| '-s') | |
| COMPREPLY=( $(compgen -W "tag" -- $cur) ) | |
| return 0 | |
| ;; | |
| '-t') | |
| COMPREPLY=( $(compgen -W "token" -- $cur) ) | |
| return 0 | |
| ;; | |
| '-L') | |
| COMPREPLY=( $(compgen -W "$(cd /dev/disk/by-label/ 2>/dev/null && echo *)" -- $cur) ) | |
| return 0 | |
| ;; | |
| '-U') | |
| COMPREPLY=( $(compgen -W "$(cd /dev/disk/by-uuid/ 2>/dev/null && echo *)" -- $cur) ) | |
| return 0 | |
| ;; | |
| '-s') | |
| COMPREPLY=( $(compgen -W "size" -- $cur) ) | |
| return 0 | |
| ;; | |
| '-O') | |
| COMPREPLY=( $(compgen -W "offset" -- $cur) ) | |
| return 0 | |
| ;; | |
| '-u') | |
| COMPREPLY=( $(compgen -W "filesystem raid crypto other nofilesystem noraid nocrypto noother" -- $cur) ) | |
| return 0 | |
| ;; | |
| '-n') | |
| COMPREPLY=( $(compgen -W "$(awk '{print $NF}' /proc/filesystems)" -- $cur) ) | |
| return 0 | |
| ;; | |
| '-h'|'-V') | |
| return 0 | |
| ;; | |
| esac | |
| case $cur in | |
| -*) | |
| OPTS="-c -d -h -g -o -k -s -t -l -L -U -V -p -i -S -O -u -n" | |
| COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) ) | |
| return 0 | |
| ;; | |
| esac | |
| COMPREPLY=( $(compgen -W "$(lsblk -pnro name)" -- $cur) ) | |
| return 0 | |
| } | |
| complete -F _blkid_module blkid |