(CommandList children: [ (AndOr children: [ (FuncDef name: _mock body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[20]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[22]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[24]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[26]) (assign_pair lhs:(LhsName name:split) op:Equal spids:[28]) ] spids: [18] ) (AndOr children: [ (C {(_init_completion)} {(-s)}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DPipe ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:plugins) op: Equal rhs: {(SQ <"tmpfs root_cache yum_cache bind_mount ccache">)} spids: [43] ) ] spids: [41] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:cfgdir) op: Equal rhs: {(/etc/mock)} spids: [51] ) (assign_pair lhs: (LhsName name:count) op: Equal rhs: {(0)} spids: [54] ) (assign_pair lhs:(LhsName name:i) op:Equal spids:[57]) ] spids: [49] ) (ForEach iter_name: i iter_words: [ { (DQ (BracedVarSub token: <VSub_Name words> bracket_op: (WholeArray op_id:Lit_At) spids: [68 73] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: {($ VSub_Name "$count")} right: {($ VSub_Name "$cword")} ) ) (ControlFlow token:<ControlFlow_Break break>) ] op_id: Op_DAmp ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$i"))} right: {(--configdir)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cfgdir) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:count) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [117 128] ) ) } spids: [115] ) ] spids: [115] ) ] spids: [-1 112] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$i"))} right: {(--configdir) (BoolBinary_GlobEqual "=") (Lit_Other "*")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cfgdir) op: Equal rhs: { (BracedVarSub token: <VSub_Name i> suffix_op: (PatSub pat: {("*=")} replace: {} do_all: False do_prefix: False do_suffix: False ) spids: [154 159] ) } spids: [153] ) ] spids: [153] ) ] spids: [132 150] ) ] spids: [-1 162] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:count) op: Equal rhs: { (ArithSubPart anode: (UnaryAssign op_id:Arith_DPlus child:(LhsName name:count)) spids: [166 170] ) } spids: [165] ) ] spids: [165] ) ] spids: [78 173] ) spids: [66 76] ) (Case to_match: {($ VSub_Name "$prev")} arms: [ (case_arm pat_list: [ {(-h)} {(--help)} {(--copyin)} {(--copyout)} {(--arch)} {(-D)} {(--define)} {(--with)} {(--without)} {(--uniqueext)} {(--rpmbuild_timeout)} {(--sources)} {(--cwd)} ] action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [184 211 219 -1] ) (case_arm pat_list: [{(-r)} {(--root)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(command)} {(ls)} {($ VSub_Name "$cfgdir")} ) ] ) left_token: <Left_CommandSub "$("> spids: [238 246] ) ) } {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [231 255] ) } ] ) } spids: [228] ) ] spids: [228] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {(.cfg)} replace: {} do_all: False do_prefix: False do_suffix: True ) spids: [263 272] ) } ] ) } spids: [260] ) ] spids: [260] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [222 225 282 -1] ) (case_arm pat_list: [{(--configdir)} {(--resultdir)}] action: [ (C {(_filedir)} {(-d)}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [285 288 301 -1] ) (case_arm pat_list: [{(--spec)}] action: [ (C {(_filedir)} {(spec)}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [304 305 318 -1] ) (case_arm pat_list: [{(--target)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(command)} {(rpm)} {(--showrc)}) (C {(sed)} {(-ne)} { (SQ < "s/^\\s*compatible\\s\\s*archs\\s*:\\s*\\(.*\\)/\\1/i p" > ) } ) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [351 371] ) ) } {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [344 382] ) } ] ) } spids: [341] ) ] spids: [341] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [321 322 392 -1] ) (case_arm pat_list: [{(--enable-plugin)} {(--disable-plugin)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name "$plugins"))} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [404 420] ) } ] ) } spids: [401] ) ] spids: [401] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [395 398 430 -1] ) ] spids: [177 181 433] ) (AndOr children: [ (C {($ VSub_Name "$split")}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] op_id: Op_DAmp ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$cur"))} right: {(-) (Lit_Other "*")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <"$( _parse_help \"$1\" )">)} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [470 486] ) } ] ) } spids: [467] ) ] spids: [467] ) (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name "$COMPREPLY")} right: {(Lit_Other "*") (BoolBinary_GlobEqual "=")} ) ) (C {(compopt)} {(-o)} {(nospace)}) ] op_id: Op_DAmp ) ] spids: [-1 464] ) ] else_action: [(C {(_filedir)} {(SQ <"@(?(no)src.r|s)pm">)})] spids: [511 521] ) ] spids: [15] ) spids: [11 14] ) (C {(complete)} {(-F)} {(_mock)} {(mock)}) ] op_id: Op_DAmp ) ] )