util-linux/bash-completion/chcpu
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

47 lines
1.2 KiB
Text

_chcpu_module()
{
local cur prev OPTS
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
case $prev in
'-e'|'--enable')
local CPULIST
# FIXME: will propose only binding to a cpu.
# Maybe this should add comma, and continue?
CPULIST=$(sed 's/^/{/; s/-/../g; s/,/} {/g; s/$/}/' /sys/devices/system/cpu/offline)
COMPREPLY=( $(compgen -W "$(eval echo $CPULIST)" -- $cur) )
return 0
;;
'-d'|'--disable')
local CPULIST
# FIXME: will propose only binding to a cpu.
# Maybe this should add comma, and continue?
CPULIST=$(sed 's/^/{/; s/-/../g; s/,/} {/g; s/$/}/' /sys/devices/system/cpu/online)
COMPREPLY=( $(compgen -W "$(eval echo $CPULIST)" -- $cur) )
return 0
;;
'-c'|'--configure'|'-g'|'--deconfigure')
COMPREPLY=( $(compgen -W "cpu-list" -- $cur) )
return 0
;;
'-p'|'--dispatch')
COMPREPLY=( $(compgen -W "horizontal vertical" -- $cur) )
return 0
;;
'-h'|'--help'|'-V'|'--version')
return 0
;;
esac
OPTS="--help
--enable
--disable
--configure
--deconfigure
--dispatch
--rescan
--version"
COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
return 0
}
complete -F _chcpu_module chcpu