util-linux/bash-completion/mkfs
Ville Skyttä 0d5b9b8ab1 bash-completion: Don't offer short options where corresponding long one exists.
Users who know the short options can just hit the short option instead
of tab, and it's not likely that it would be helpful to present a list
of single character options to users who don't know them, doing so
just unnecessarily trashes the list of suggestions.

Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>
2013-04-08 17:06:56 +02:00

28 lines
692 B
Text

_mkfs_module()
{
local cur prev OPTS DEVS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-t'|'--type')
FSTYPES=$(for I in /sbin/mkfs.* /usr/sbin/mkfs.*; do if [ -e $I ]; then echo ${I##*mkfs.}; fi; done)
COMPREPLY=( $(compgen -W "$FSTYPES" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
case $cur in
-*)
OPTS='--type --verbose --help --version'
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
;;
esac
while read dev; do DEVS+="$dev " ; done < <(lsblk -pnro name)
COMPREPLY=( $(compgen -W "$DEVS /path/to/file" -- $cur) )
return 0
}
complete -F _mkfs_module mkfs