(AndOr OP_AND_IF (FunctionDef _postsuper [] (List (= scope= flags=0 words=[{[LIT_CHARS cur]}, {[LIT_CHARS prev]}, {[LIT_CHARS words]}, {[LIT_CHARS cword]}] bindings=[]) (AndOr OP_OR_IF (Com {[LIT_CHARS _init_completion]} ) (Com {[LIT_CHARS return]} ) ) (= scope= flags=0 words=[{[LIT_CHARS pval]}, {[LIT_CHARS len]}, {[LIT_CHARS idx]}] bindings=[]) (Case to_match={[VarSub prev]}, pat_word_list=[[{[LIT_CHARS -c]}], [{[LIT_CHARS -] [LIT_DBRACKET_LIKE "["] [LIT_CHARS dr] [LIT_DBRACKET_LIKE "]"]}], [{[LIT_CHARS -h]}], [{[LIT_CHARS -H]}]] (List (Com {[LIT_CHARS _filedir]} {[LIT_CHARS -d]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (List (= scope= flags=0 words=[] bindings=[('len', {[VarSub cur transform_ops=[(#len)]]})]) (= scope= flags=0 words=[] bindings=[('idx', {[LIT_CHARS 0]})]) (For pval [{[LIT_CHARS ALL]}, {[ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS mailq]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]}]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub cur]]} {[DQ [VarSub pval transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[VarSub len]}}]]]}}) (List (Com {[LIT_CHARS COMPREPLY] [LIT_DBRACKET_LIKE "["] [VarSub idx] [LIT_DBRACKET_LIKE "]="] [VarSub pval]} ) (= scope= flags=0 words=[] bindings=[('idx', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub idx]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (List (= scope= flags=0 words=[] bindings=[('len', {[VarSub cur transform_ops=[(#len)]]})]) (= scope= flags=0 words=[] bindings=[('idx', {[LIT_CHARS 0]})]) (For pval [{[LIT_CHARS ALL]}, {[ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS mailq]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]}]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub cur]]} {[DQ [VarSub pval transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[VarSub len]}}]]]}}) (List (Com {[LIT_CHARS COMPREPLY] [LIT_DBRACKET_LIKE "["] [VarSub idx] [LIT_DBRACKET_LIKE "]="] [VarSub pval]} ) (= scope= flags=0 words=[] bindings=[('idx', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub idx]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (List (= scope= flags=0 words=[] bindings=[('len', {[VarSub cur transform_ops=[(#len)]]})]) (= scope= flags=0 words=[] bindings=[('idx', {[LIT_CHARS 0]})]) (For pval [{[LIT_CHARS ALL]}, {[ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS mailq]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]}]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub cur]]} {[DQ [VarSub pval transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[VarSub len]}}]]]}}) (List (Com {[LIT_CHARS COMPREPLY] [LIT_DBRACKET_LIKE "["] [VarSub idx] [LIT_DBRACKET_LIKE "]="] [VarSub pval]} ) (= scope= flags=0 words=[] bindings=[('idx', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub idx]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub cur]} {[LIT_CHARS -] [LIT_OTHER "*"]}}) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _postsuper]} {[LIT_CHARS postsuper]} ) )