Gitfed
bastien-mrq/sssh / completions / sssh.bash
# Complétion bash pour sssh — à sourcer depuis ~/.bashrc :
#   source /chemin/vers/completions/sssh.bash
# ou à copier dans ~/.local/share/bash-completion/completions/sssh

_sssh() {
    local cur cmd
    cur="${COMP_WORDS[COMP_CWORD]}"

    if [[ $COMP_CWORD -eq 1 ]]; then
        local names subcmds
        names="$(sssh list --names 2>/dev/null)"
        subcmds="add edit rm list export import import-ssh help version"
        COMPREPLY=($(compgen -W "$names $subcmds" -- "$cur"))
        return
    fi

    cmd="${COMP_WORDS[1]}"
    case "$cmd" in
        edit|rm)
            if [[ $COMP_CWORD -eq 2 ]]; then
                COMPREPLY=($(compgen -W "$(sssh list --names 2>/dev/null)" -- "$cur"))
            fi
            ;;
        import|export)
            COMPREPLY=($(compgen -f -- "$cur"))
            ;;
    esac
}

complete -F _sssh sssh