fish-shell/share/completions/modprobe.fish
Josef Gajdusek 0eb3fd6b3f Make modprobe completion more precise
Only match loaded modules when -r is specified.

Also adds /lib/modules/(uname -r)/misc to the search path.
This directory is used by Gentoo for package-provided modules
(such as the app-emulation/virtualbox-modules)
2016-03-28 14:38:19 +02:00

27 lines
2 KiB
Fish

#
# Completions for the modprobe command
#
complete -c modprobe -n "__fish_contains_opt -s r remove" --no-files -d Module -a "(lsmod | cut -d' ' -f1)"
complete -c modprobe -n "not __fish_contains_opt -s r remove" --no-files -d Module -a "(find /lib/modules/(uname -r)/{kernel,misc} -type f 2>/dev/null | sed -e 's/\/.*\/\([^\/.]*\).*/\1/')"
complete -c modprobe -s v -l verbose --description "Print messages about what the program is doing"
complete -c modprobe -s C -l config --description "Configuration file" -r
complete -c modprobe -s c -l showconfig --description "Dump configuration file"
complete -c modprobe -s n -l dry-run --description "Do not actually insert/remove module"
complete -c modprobe -s i -l ignore-install --description "Ignore install and remove commands in configuration file"
complete -c modprobe -l ignore-remove --description "Ignore install and remove commands in configuration file"
complete -c modprobe -s q -l quiet --description "Ignore bogus module names"
complete -c modprobe -s r -l remove --description "Remove modules"
complete -c modprobe -s V -l version --description "Display version and exit"
complete -c modprobe -s f -l force --description "Ignore all version information"
complete -c modprobe -l force-vermagic --description "Ignore version magic information"
complete -c modprobe -l force-modversion --description "Ignore module interface version"
complete -c modprobe -s l -l list --description "List all modules matching the given wildcard"
complete -c modprobe -s a -l all --description "Insert modules matching the given wildcard"
complete -c modprobe -s t -l type --description "Restrict wildcards to specified directory"
complete -c modprobe -s s -l syslog --description "Send error messages through syslog"
complete -c modprobe -l set-version --description "Specify kernel version"
complete -c modprobe -l show-depends --description "List dependencies of module"
complete -c modprobe -s o -l name --description "Rename module"
complete -c modprobe -l first-time --description "Fail if inserting already loaded module"