(CommandList children: [ (C {(typeset)} {(-A)} {(_Dbg_next_complete)}) (FuncDef name: _Dbg_complete_subcmd body: (BraceGroup children: [ (Sentence child:(C {(typeset)} {(-a)} {(words)}) terminator:<Op_Semi ";">) (C {(typeset)} {(subcmds)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(SQ <" ">)} spids: [92] ) (assign_pair lhs: (LhsName name:words) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_Name "$COMP_LINE")}])} spids: [97] ) ] spids: [92] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w: { (BracedVarSub token: <VSub_Name words> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [109 115] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(eval)} { (DQ ("subcmds=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{!_Dbg_debugger_") ($ VSub_Number "$1") ("_commands[@]}") ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: {(ArrayLiteralPart words:[{($ VSub_Name "$subcmds")}])} spids: [140] ) ] spids: [140] ) ] spids: [-1 125] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w: { (BracedVarSub token: <VSub_Name words> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [152 158] ) } ) right: (ArithWord w:{(Lit_Digits 2)}) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(eval)} { (DQ ("subcmds=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{!_Dbg_debugger_") ($ VSub_Number "$1") ("_commands[@]}") ) } ) (C {(typeset)} {(Lit_VarLike "commands=") (DQ (BracedVarSub token: <VSub_Name _Dbg_command_help> prefix_op: VSub_Bang bracket_op: (WholeArray op_id:Lit_At) spids: [188 194] ) ) } ) (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 "$subcmds"))} { (DQ (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 1)}) ) spids: [211 216] ) ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [201 219] ) } ] ) } spids: [198] ) ] spids: [198] ) (If arms: [ (if_arm cond: [ (AndOr children: [ (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w: { (BracedVarSub token: <VSub_Name COMPREPLY> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [228 234] ) } ) right: (ArithWord w:{(Lit_Digits 1)}) ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [247 252] ) } right: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [256 261] ) } ) ) ] op_id: Op_DAmp ) ] action: [ (Sentence child: (SimpleCommand words: [{(typeset)} {(canon_line)}] more_env: [(env_pair name:IFS val:{(SQ <" ">)} spids:[270])] ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:canon_line) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name words> bracket_op: (WholeArray op_id:Lit_At) spids: [282 287] ) ) } spids: [280] ) ] spids: [280] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name _Dbg_next_complete> bracket_op: (ArrayIndex expr: (ArithWord w: {($ VSub_Name "$canon_line")} ) ) spids: [297 302] ) } ) right: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Name "$COMP_LINE")} right: {(SQ <" ">) (Lit_Other "$")} ) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C { (BracedVarSub token: <VSub_Name _Dbg_next_complete> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name "$canon_line")}) ) spids: [324 329] ) } ) ] spids: [-1 321] ) ] spids: [-1 332] ) ] spids: [-1 266] ) ] spids: [-1 335] ) ] spids: [148 169] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name _Dbg_next_complete> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name "$COMP_LINE")}) ) spids: [344 349] ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (C { (BracedVarSub token: <VSub_Name _Dbg_next_complete> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name "$COMP_LINE")})) spids: [358 363] ) } ) ] spids: [338 355] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: {(ArrayLiteralPart)} spids: [369] ) ] spids: [369] ) ] spids: [366 374] ) ] spids: [71] ) spids: [67 70] ) (FuncDef name: _Dbg_complete_onoff body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: {(ArrayLiteralPart words:[{(on)}{(off)}])} spids: [386] ) ] spids: [386] ) ] spids: [383] ) spids: [379 382] ) ] )