Code View

#!/bin/bash
# SPDX-License-Identifier: MIT
# dso-sign — Bash completion
_ffs_dso_sign() {
    local cur prev words cword
    _init_completion || return
    local opts="--key --name --version --author --abi-major --abi-minor --quiet -q -h --help"
    case "${prev}" in
        --key)
            COMPREPLY=( $( compgen -f -X '!*.key' -- "${cur}" ) )
            COMPREPLY+=( $( compgen -d -- "${cur}" ) ); return ;;
        --name|--version|--author|--abi-major|--abi-minor)
            return ;;
    esac
    if [[ "${cur}" == -* ]]; then
        COMPREPLY=( $( compgen -W "${opts}" -- "${cur}" ) )
    else
        # First positional is the addon to sign. FFS plugins are .ffs; the
        # underlying DSO signer also accepts a plain .so.
        COMPREPLY=( $( compgen -f -X '!*.ffs' -- "${cur}" ) )
        COMPREPLY+=( $( compgen -f -X '!*.so' -- "${cur}" ) )
        COMPREPLY+=( $( compgen -d -- "${cur}" ) )
    fi
}
complete -F _ffs_dso_sign dso-sign