Fri, 15 Nov 2019 18:07:11 +0100
fix some versioning related bugs and add tests
dav_completion_build_args() { local word for i in "${!COMP_WORDS[@]}"; do word="${COMP_WORDS[$i]}" if [[ "$word" =~ ^\'|^\" ]]; then printf "%s\0" "$word" else echo "$word" | xargs printf "%s" printf "\0" fi done } dav_completion() { local cmd local out local cmd_res cmd="${COMP_WORDS[0]} complete $COMP_CWORD" out=$(dav_completion_build_args | xargs -0 $cmd) 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