modprobe: Try parsing help before using hardcoding option list
This commit is contained in:
parent
454f67a047
commit
c6ec8f979b
@ -2,10 +2,13 @@
|
|||||||
|
|
||||||
_modprobe()
|
_modprobe()
|
||||||
{
|
{
|
||||||
local cur prev words cword
|
local cur prev words cword split
|
||||||
_init_completion || return
|
_init_completion -s || return
|
||||||
|
|
||||||
case "$prev" in
|
case "$prev" in
|
||||||
|
-h|--help|-V|--version)
|
||||||
|
return
|
||||||
|
;;
|
||||||
-C|--config)
|
-C|--config)
|
||||||
_filedir
|
_filedir
|
||||||
return
|
return
|
||||||
@ -20,13 +23,20 @@ _modprobe()
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
$split && return
|
||||||
|
|
||||||
if [[ "$cur" == -* ]]; then
|
if [[ "$cur" == -* ]]; then
|
||||||
COMPREPLY=( $( compgen -W '-a --all -b --use-blacklist -C --config -c
|
COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
|
||||||
--showconfig --dump-modversions -d --dirname --first-time
|
if [[ ! $COMPREPLY ]]; then
|
||||||
--force-vermagic --force-modversion -f --force -i --ignore-install
|
COMPREPLY=( $( compgen -W '-a --all -b --use-blacklist -C --config
|
||||||
--ignore-remove -l --list -n --dry-run -q --quiet -R
|
-c --showconfig --dump-modversions -d --dirname --first-time
|
||||||
--resolve-alias -r --remove -S --set-version --show-depends -s
|
--force-vermagic --force-modversion -f --force -i
|
||||||
--syslog -t --type -V --version -v --verbose' -- "$cur" ) )
|
--ignore-install --ignore-remove -l --list -n --dry-run -q
|
||||||
|
--quiet -R --resolve-alias -r --remove -S --set-version
|
||||||
|
--show-depends -s --syslog -t --type -V --version -v
|
||||||
|
--verbose' -- "$cur" ) )
|
||||||
|
fi
|
||||||
|
[[ $COMPREPLY == *= ]] && compopt -o nospace
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -11,8 +11,8 @@ proc teardown {} {
|
|||||||
setup
|
setup
|
||||||
|
|
||||||
|
|
||||||
set test "--remov<TAB> should complete \"--remove\""
|
set test "--al<TAB> should complete \"--all\""
|
||||||
assert_complete "--remove" "modprobe --remov" $test
|
assert_complete "--all" "modprobe --al" $test
|
||||||
|
|
||||||
|
|
||||||
sync_after_int
|
sync_after_int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user