+ local cur prev words cword split + _init_completion -s + local exclude= flag outx errx inx OPTIND=1 + getopts n:e:o:i:s flag -s + case $flag in + split=false + exclude+== + getopts n:e:o:i:s flag -s + COMPREPLY=() + local 'redir=@(?([0-9])<|?([0-9&])>?(>)|>&)' + _get_comp_words_by_ref -n '=<>&' cur prev words cword + local exclude flag i OPTIND=1 + words=() + local cur cword words + upargs=() + upvars=() + local upargs upvars vcur vcword vprev vwords + getopts c:i:n:p:w: flag -n '=<>&' cur prev words cword + case $flag in + exclude='=<>&' + getopts c:i:n:p:w: flag -n '=<>&' cur prev words cword + [[ 6 -ge 3 ]] + case ${!OPTIND} in + vcur=cur + (( OPTIND += 1 )) + [[ 6 -ge 4 ]] + case ${!OPTIND} in + vprev=prev + (( OPTIND += 1 )) + [[ 6 -ge 5 ]] + case ${!OPTIND} in + vwords=words + (( OPTIND += 1 )) + [[ 6 -ge 6 ]] + case ${!OPTIND} in + vcword=cword + (( OPTIND += 1 )) + [[ 6 -ge 7 ]] + __get_cword_at_cursor_by_ref '=<>&' words cword cur + words=() + local cword words + __reassemble_comp_words_by_ref '=<>&' words cword + local exclude i j line ref + [[ -n =<>& ]] + exclude='[=<>&]' + printf -v cword %s 1 + [[ -v exclude ]] + line='ls d/"' + (( i = 0, j = 0 )) + (( i < 2 )) + [[ 0 -gt 0 ]] + ref='words[0]' + printf -v 'words[0]' %s ls + line=' d/"' + (( i == COMP_CWORD )) + (( i++, j++ )) + (( i < 2 )) + [[ 1 -gt 0 ]] + [[ d/" == +([=<>&]) ]] + ref='words[1]' + printf -v 'words[1]' %s 'd/"' + line= + (( i == COMP_CWORD )) + printf -v cword %s 1 + (( i++, j++ )) + (( i < 2 )) + (( i == COMP_CWORD )) + local i cur= index=6 'lead=ls d/"' + [[ 6 -gt 0 ]] + [[ -n ls d/" ]] + [[ -n lsd/" ]] + cur='ls d/"' + (( i = 0 )) + (( i <= cword )) + [[ 6 -ge 2 ]] + [[ ls != \l\s ]] + (( i < cword )) + local old_size=6 + cur=' d/"' + local new_size=4 + (( index -= old_size - new_size )) + (( ++i )) + (( i <= cword )) + [[ 4 -ge 3 ]] + [[ d/ != \d\/\" ]] + cur='d/"' + (( index > 0 )) + (( index-- )) + [[ 3 -ge 3 ]] + [[ d/" != \d\/\" ]] + (( i < cword )) + (( ++i )) + (( i <= cword )) + [[ -n d/" ]] + [[ ! -n d/" ]] + (( index < 0 )) + local words cword cur + _upvars -a2 words ls 'd/"' -v cword 1 -v cur 'd/"' + (( 10 )) + (( 10 )) + case $1 in + [[ -n 2 ]] + printf %d 2 + [[ -n words ]] + unset -v words + eval 'words=("${@:3:2}")' words=("${@:3:2}") ++ words=("${@:3:2}") + shift 4 + (( 6 )) + case $1 in + [[ -n cword ]] + unset -v cword + eval 'cword="$3"' cword="$3" ++ cword=1 + shift 3 + (( 3 )) + case $1 in + [[ -n cur ]] + unset -v cur + eval 'cur="$3"' cur="$3" ++ cur='d/"' + shift 3 + (( 0 )) + [[ -v vcur ]] + upvars+=("$vcur") + upargs+=(-v $vcur "$cur") + [[ -v vcword ]] + upvars+=("$vcword") + upargs+=(-v $vcword "$cword") + [[ -v vprev ]] + [[ 1 -ge 1 ]] + upvars+=("$vprev") + upargs+=(-v $vprev "${words[cword - 1]}") + [[ -v vwords ]] + upvars+=("$vwords") + upargs+=(-a${#words[@]} $vwords ${words+"${words[@]}"}) + (( 4 )) + local cur cword prev words + _upvars -v cur 'd/"' -v cword 1 -v prev ls -a2 words ls 'd/"' + (( 13 )) + (( 13 )) + case $1 in + [[ -n cur ]] + unset -v cur + eval 'cur="$3"' cur="$3" ++ cur='d/"' + shift 3 + (( 10 )) + case $1 in + [[ -n cword ]] + unset -v cword + eval 'cword="$3"' cword="$3" ++ cword=1 + shift 3 + (( 7 )) + case $1 in + [[ -n prev ]] + unset -v prev + eval 'prev="$3"' prev="$3" ++ prev=ls + shift 3 + (( 4 )) + case $1 in + [[ -n 2 ]] + printf %d 2 + [[ -n words ]] + unset -v words + eval 'words=("${@:3:2}")' words=("${@:3:2}") ++ words=("${@:3:2}") + shift 4 + (( 0 )) + _variables + [[ d/" =~ ^(\$(\{[!#]?)?)([A-Za-z0-9_]*)$ ]] + [[ d/" =~ ^(\$\{[#!]?)([A-Za-z0-9_]*)\[([^]]*)$ ]] + [[ d/" =~ ^\$\{[#!]?[A-Za-z0-9_]*\[.*]$ ]] + return 1 + [[ d/" == @(?([0-9])<|?([0-9&])>?(>)|>&)* ]] + [[ ls == @(?([0-9])<|?([0-9&])>?(>)|>&) ]] + local i skip + (( i = 1 )) + (( i < 2 )) + [[ d/" == @(?([0-9])<|?([0-9&])>?(>)|>&)* ]] + (( i++ )) + (( 1 )) + (( i < 2 )) + (( cword <= 0 )) + prev=ls + [[ -n false ]] + _split_longopt + [[ d/" == --?*=* ]] + return 1 + return 0 + case "${prev,,}" in + false + [[ d/" == -* ]] + [[ ls == *@(rmdir|chroot) ]] + [[ ls == *mkdir ]] + _filedir + local 'IFS= ' + _tilde 'd/"' + local result=0 + [[ d/" == \~* ]] + return 0 + local -a toks + local reset arg= + [[ '' == -d ]] + local quoted + _quote_readline_by_ref 'd/"' quoted + '[' -z 'd/"' ']' + [[ d/" == \'* ]] + [[ d/" == \~* ]] + printf -v quoted %q 'd/"' + [[ d/\" == \$* ]] + plusdirs=() + local xspec= plusdirs + opts=('-f' '-X' '') + local opts + [[ -n '' ]] + [[ -n '' ]] + [[ -z '' ]] ++ shopt -po noglob + reset='set +o noglob' + set -o noglob + toks+=($(compgen "${opts[@]}" -- $quoted)) ++ compgen -f -X '' -- 'd/\"' + IFS=' ' + set +o noglob + IFS=' ' + [[ -n '' ]] + (( 1 != 0 )) + compopt -o filenames + COMPREPLY+=("${toks[@]}")