Skip to content

Enable tab complete

Ralf Ren edited this page Mar 22, 2018 · 1 revision

Add these to ~/.bashrc file:

_gekko() {
    local cur prev nodes
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev="${COMP_WORDS[COMP_CWORD-1]}"
    nodes=$(if [ -f ~/.gekko ]; then cat ~/.gekko | grep -o "remark: [a-z]*[0-9]*" | awk '{print $2}'; else echo ""; fi)

    case $prev in
        remove|rm)
            COMPREPLY=( $(compgen -W "${nodes}" -- ${cur}) )
            return;;
        run|rn)
            COMPREPLY=( $(compgen -W "${nodes}" -- ${cur}) )
            return;;
        sense|ss)
            COMPREPLY=( $(compgen -W "${nodes}" -- ${cur}) )
            return;;
        gekko)
            COMPREPLY=( $(compgen -W "camouflage grip list remove run sense version" -- ${cur}) )
            return;;
    esac
}

complete -o default -F _gekko gekko

Then:

$ source ~/.bashrc