# rmmod(8) completion -*- shell-script -*- # SPDX-License-Identifier: LGPL-2.1-or-later # # SPDX-FileCopyrightText: 2024 Emil Velikov <emil.l.velikov@gmail.com> # # Formatted using: # shfmt --language-dialect bash --indent 4 --func-next-line _rmmod() { # long/short opt pairs local -A opts=( ['force']='f' ['syslog']='s' ['verbose']='v' ['version']='V' ['help']='h' ) local cur="${COMP_WORDS[COMP_CWORD]}" if [[ $cur == --* ]]; then COMPREPLY=($(compgen -P '--' -W "${!opts[*]}" -- "${cur:2}")) elif [[ $cur == -* ]]; then if (( ${#cur} != 2 )); then COMPREPLY=($(compgen -P '--' -W "${!opts[*]}" -- "${cur:2}")) fi COMPREPLY+=($(compgen -P '-' -W "${opts[*]}" -- "${cur:1}")) else local -a modules=($(lsmod | cut -f1 -d' ')) COMPREPLY=($(compgen -W "${modules[*]}" -- "${cur}")) fi } && complete -F _rmmod rmmod