scripts/dav-bash-completion.bash

Sun, 05 Apr 2020 11:06:34 +0200

author
Mike Becker <universe@uap-core.de>
date
Sun, 05 Apr 2020 11:06:34 +0200
branch
feature/dav-edit
changeset 720
2b8a65ed6f4c
parent 684
a4b4257c1a5f
permissions
-rw-r--r--

adds support for -L option in dav edit

dav_completion_build_args() {
    local word
    for i in "${!COMP_WORDS[@]}"; do
        word="${COMP_WORDS[$i]}"
        if [[ "$word" =~ ^\'|^\" ]]; then
            printf "%s\n" "$word"
        else
            echo "$word" | xargs printf "%s"
            printf "\n"
        fi
    done
}

dav_completion() {
    local cmd
    local out
    local cmd_res

    cmd="${COMP_WORDS[0]} complete $COMP_CWORD"
    out=$(dav_completion_build_args | $cmd 2> /dev/null)
    cmd_res=$?

    if [[ $cmd_res -eq 10 ]]; then
        compopt -o nospace
	fi
	
	
    if [[ $cmd_res -eq 12 ]]; then
        compopt -o default
        COMPREPLY=()
    else
        IFS=$'\n' declare -ga 'COMPREPLY=($out)'
    fi
}

complete -F dav_completion dav

mercurial