UNIXworkcode

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