(List (= scope= flags=0 words=[] bindings=[('test_description', {[SQ ]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./lib-bash.sh]} ) (FunctionDef complete [] (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (Com {[LIT_CHARS .]} {[DQ [VarSub GIT_BUILD_DIR][LIT_CHARS /contrib/completion/git-completion.bash]]} ) (FunctionDef _get_comp_words_by_ref [] (While (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Case to_match={[DQ [VarSub 1]]}, pat_word_list=[[{[LIT_CHARS cur]}], [{[LIT_CHARS prev]}], [{[LIT_CHARS words]}], [{[LIT_CHARS cword]}]] (= scope= flags=0 words=[] bindings=[('cur', {[VarSub _words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub _cword]}})]})]) (= scope= flags=0 words=[] bindings=[('prev', {[VarSub _words bracket_op=(Index {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub _cword]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}})]})]) (= scope= flags=0 words=[] bindings=[('words', {[Array {[DQ [VarSub _words bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]})]) (= scope= flags=0 words=[] bindings=[('cword', {[VarSub _cword]})]) ) (Com {[LIT_CHARS shift]} ) ) ) ) (FunctionDef print_comp [] (List (= scope= flags=0 words=[] bindings=[('IFS', {[SQ ]})]) (Com {[LIT_CHARS echo]} {[DQ [VarSub COMPREPLY bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_STAR "*"}})]]} < (FilenameRedirectNode filename={[LIT_CHARS out]} "> 1), > ) ) ) (FunctionDef run_completion [] (List (= scope= flags=0 words=[{[LIT_CHARS -a]}, {[LIT_CHARS COMPREPLY]}, {[LIT_CHARS _words]}] bindings=[]) (= scope= flags=0 words=[{[LIT_CHARS _cword]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('_words', {[Array {[VarSub 1]}]})]) (DParen {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub _cword]}} {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub _words bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}}) (AndOr OP_AND_IF (Com {[LIT_CHARS __git_wrap__git_main]} ) (Com {[LIT_CHARS print_comp]} ) ) ) ) (FunctionDef test_completion [] (List (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 1]} ) (Com {[LIT_CHARS echo]} {[DQ [VarSub 2]]} < (FilenameRedirectNode filename={[LIT_CHARS expected]} "> 1), > ) ) (AndOr OP_AND_IF (Com {[LIT_CHARS run_completion]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS test_cmp]} {[LIT_CHARS expected]} {[LIT_CHARS out]} ) ) ) ) (= scope= flags=0 words=[] bindings=[('newline', {[SQ ]})]) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> out\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> out\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> out\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> out\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> out\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ expected <<-\\EOF &&\n"> ]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS test_done]} ) )