summaryrefslogtreecommitdiff
path: root/shell-completion/zsh/_kernel-install
blob: 6358a6458976304a4d603cefe13dfdf19e23057e (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
#compdef kernel-install
# SPDX-License-Identifier: LGPL-2.1+

_images(){
    if [[ "$words[2]" == "remove" ]]; then
        _message 'No more options'
    else
        _path_files -W /boot/ -P /boot/ -g "vmlinuz-*"
    fi
}

_kernels(){
    read _MACHINE_ID < /etc/machine-id
    _kernel=( /lib/modules/[0-9]* )
    if [[ "$cmd" == "remove" && -n "$_MACHINE_ID" ]]; then
        _kernel=( "/boot/$_MACHINE_ID"/[0-9]* )
    fi
    _kernel=( ${_kernel##*/} )
    _describe "installed kernels" _kernel
}

_arguments \
    '1::add or remove:(add remove)' \
    '2::kernel versions:_kernels' \
    '3::kernel images:_images'

#vim: set ft=zsh sw=4 ts=4 et