blob: 28f193083738dcde3ce0e79f800ec81c2b027e87 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# Linux modinfo(8) completion -*- shell-script -*-
_modinfo()
{
local cur prev words cword
_init_completion || return
case "$prev" in
-F|--field)
COMPREPLY=( $( compgen -W 'alias author depends description
filename firmware license parm srcversion staging vermagic
version' -- "${cur,,}" ) )
return
;;
-k)
_kernel_versions
return
;;
esac
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W '-V --version -F --field -k -0 --null -a -d
-l -p -n' -- "$cur" ) )
return
fi
local i version=$(uname -r)
for (( i=${#words[@]}-1; i>0; i-- )); do
if [[ ${words[i]} == -k ]]; then
version=${words[i+1]}
break
fi
done
# do filename completion if we're giving a path to a module
if [[ "$cur" == @(*/|[.~])* ]]; then
_filedir '@(?(k)o?(.gz))'
else
_modules $version
fi
} &&
complete -F _modinfo modinfo
# ex: filetype=sh
|