(AndOr OP_AND_IF (FunctionDef _cfrun [] (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 i]}] bindings=[('section', {[LIT_CHARS 1]})]) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}} {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub cword]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]]} {[LIT_CHARS --]}}) (= scope= flags=0 words=[] bindings=[('section', {[ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub section]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) ) ) (Case to_match={[VarSub section]}, pat_word_list=[[{[LIT_CHARS 1]}], [{[LIT_CHARS 2]}]] (List (Case to_match={[VarSub prev]}, pat_word_list=[[{[LIT_CHARS -f]}]] (List (Com {[LIT_CHARS _filedir]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub cur]]} {[LIT_CHARS -] [LIT_OTHER "*"]}}) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('hostfile', {[VarSub CFINPUTS test_op=VS_TEST_COLON_HYPHEN {[LIT_SLASH /] [LIT_CHARS var] [LIT_SLASH /] [LIT_CHARS lib] [LIT_SLASH /] [LIT_CHARS cfengine] [LIT_SLASH /] [LIT_CHARS inputs]}] [LIT_CHARS /cfrun.hosts]})]) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}} {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub cword]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]]} {[LIT_CHARS -f]}}) (List (= scope= flags=0 words=[] bindings=[('hostfile', {[VarSub words bracket_op=(Index {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}})]})]) (Com {[LIT_CHARS break]} ) ) ) ) (AndOr OP_AND_IF (DBracket {B! {B1 UNARY_FILE_f {[VarSub hostfile]}}}) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[DQ [ComSub (Com {[LIT_CHARS command]} {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[LIT_CHARS -E]} {[SQ ]} {[VarSub hostfile]})]]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) ) ) ) (= 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 _cfrun]} {[LIT_CHARS cfrun]} ) )