(CommandList children: [ (AndOr children: [ (FuncDef name: _mdtool body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[13]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[15]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[17]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[19]) ] spids: [11] ) (AndOr children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)] op_id: Op_DPipe ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:command) op:Equal spids:[32]) (assign_pair lhs:(LhsName name:i) op:Equal spids:[34]) ] spids: [30] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 0)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithBinary op_id: Arith_Minus left: (ArithWord w: { (BracedVarSub token: <VSub_Name words> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [51 57] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [76 81] ) } right: {(ExtGlobPart op:<ExtGlob_At '@('> spids:[85 91])} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:command) op: Equal rhs: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [100 105] ) } spids: [99] ) ] spids: [99] ) ] spids: [16777215 96] ) ] spids: [16777215 108] ) ] spids: [69 111] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(DQ ($ VSub_Name '$command'))}) ) terminator: <Op_Semi ';'> ) ] action: [ (Case to_match: {($ VSub_Name '$command')} arms: [ (case_arm pat_list: [{(DQ (build))}] 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 <'--f --buildfile --p --project'>)} {(-S) (DQ (':'))} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [147 170] ) } ] ) } spids: [144] ) ] spids: [144] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [139 141 224 16777215] ) (case_arm pat_list: [{(DQ (generate-makefiles))}] action: [ (C {(compopt)} {(-o)} {(filenames)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-o)} {(filenames)} {(-G) (DQ ('*.mds'))} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [243 262] ) } ] ) } spids: [240] ) ] spids: [240] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name '$prev'))} right: {(Lit_Other '*') (mds)} ) ) 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 < '--simple-makefiles --s --d:' > ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [289 307] ) } ] ) } spids: [286] ) ] spids: [286] ) ] spids: [16777215 283] ) ] spids: [16777215 312] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [228 230 320 16777215] ) (case_arm pat_list: [{(DQ (setup))}] 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 < 'install i uninstall u check-install\n' > <' ci update up list l list-av la list-update lu rep-add ra\n'> < ' rep-remove rr rep-update ru rep-list rl reg-update\n' > <' reg-build rgu info rep-build rb pack p help h dump-file'> ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [336 357] ) } ] ) } spids: [333] ) ] spids: [333] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [324 326 367 16777215] ) ] spids: [131 135 370] ) ] spids: [16777215 128] ) ] spids: [16777215 373] ) (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 <'gsetup build dbgen project-export\n'> < ' generate-makefiles gettext-update setup -q' > ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [380 397] ) } ] ) } spids: [377] ) ] spids: [377] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [8] ) spids: [4 7] ) (C {(complete)} {(-F)} {(_mdtool)} {(mdtool)}) ] op_id: Op_DAmp ) ] )