(command.CommandList children: [ (command.CommandList children: [ (command.Sentence child: (C {(typeset)} {(-a)} {(_Dbg_matches)}) terminator: <Op_Semi ';'> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_matches) op: Equal rhs: {(sh_array_literal left:<Op_LParen '('>)} ) ] ) ] ) (command.ShFunction name: _Dbg_subcmd_complete body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subcmd) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:text) op: Equal rhs: {($ VSub_Number '$2')} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_matches) op: Equal rhs: {(sh_array_literal left:<Op_LParen '('>)} ) ] ) (C {(typeset)} {(Lit_VarLike 'list=') (SQ )}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$subcmd')} right: {(SQ <set>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:list_str) op: Equal rhs: { (braced_var_sub token: <VSub_Name _Dbg_command_help_set> prefix_op: VSub_Bang bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) } ) ] ) ] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_GlobDEqual left: {($ VSub_DollarName '$subcmd')} right: {(SQ <show>)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:list_str) op: Equal rhs: { (braced_var_sub token: <VSub_Name _Dbg_command_help_show> prefix_op: VSub_Bang bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) } ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cmd) op: Equal rhs: { (DQ ('list=') (word_part.EscapedLiteral token:<Lit_EscapedChar '\\$'>) (_Dbg_) (${ VSub_Name subcmd) (_cmds) ) } ) ] ) (C {(eval)} {($ VSub_DollarName '$cmd')}) ] ) (C {(typeset)} {(-a)} {(list)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:list) op: Equal rhs: { (sh_array_literal left: <Op_LParen '('> words: [{($ VSub_DollarName '$list_str')}] ) } ) ] ) (C {(sort_list)} {(0)} { (braced_var_sub token: <VSub_Name list> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) (-1) } ) (C {(typeset)} {(Lit_VarLike 'sorted_list=') (braced_var_sub token: <VSub_Name list> bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) } ) (C {(local)} {(-i)} {(Lit_VarLike 'last=') (0)}) (command.ForEach iter_name: word iter_words: [{($ VSub_DollarName '$sorted_list')}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: BoolBinary_GlobNEqual left: { (braced_var_sub token: <VSub_Name word> suffix_op: (suffix_op.Unary op_id: VOp1_Pound arg_word: {($ VSub_DollarName '$text')} ) ) } right: {($ VSub_DollarName '$word')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.IndexedName name: _Dbg_matches index: (arith_expr.ArithWord w:{($ VSub_DollarName '$last')}) ) op: Equal rhs: { (DQ ($ VSub_DollarName '$subcmd') (' ') ($ VSub_DollarName '$word') ) } ) ] ) (command.DParen child: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (sh_lhs_expr.Name name:last) ) ) ] ) ] ) ] ) ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Simple words: [{(enable)} {(-f)} {(${ VSub_Name _Dbg_libdir) (/builtin/readc)} {(readc)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(shopt)} {(-s)} {(progcomp)}) (C {(KW_Set set)} {(-o)} {(emacs)}) (C {(bind)} {(SQ <'set show-all-if-ambiguous on'>)}) (C {(bind)} {(SQ <'TAB:menu-complete'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_set_read_completion) op: Equal rhs: {(1)} ) ] ) ] ) ] ) (command.ShFunction name: _Dbg_complete_brkpt_range body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: Equal rhs: {(sh_array_literal left:<Op_LParen '('>)} ) ] ) (C {(typeset)} {(-i)} {(i)}) (C {(typeset)} {(-i)} {(Lit_VarLike 'j=') (0)}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) cond: (arith_expr.Binary op_id: Arith_LessEqual left: (arith_expr.VarRef token:<Lit_ArithVarLike i>) right: (arith_expr.VarRef token:<Lit_ArithVarLike _Dbg_brkpt_max>) ) update: (arith_expr.UnaryAssign op_id:Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: BoolUnary_n child: { (braced_var_sub token: <VSub_Name _Dbg_brkpt_line> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ VSub_DollarName '$i')} ) ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.DParen child: (arith_expr.BinaryAssign op_id: Arith_PlusEqual left: (sh_lhs_expr.IndexedName name: COMPREPLY index: (arith_expr.VarRef token:<Lit_ArithVarLike j>) ) right: (arith_expr.VarRef token:<Lit_ArithVarLike i>) ) ) (command.DParen child: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (sh_lhs_expr.Name name:j) ) ) ] ) ] ) ] ) ) ] ) ) (command.ShFunction name: _Dbg_complete_num_range body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: Equal rhs: {(sh_array_literal left:<Op_LParen '('>)} ) ] ) (C {(typeset)} {(-i)} {(i)}) (C {(typeset)} {(-i)} {(Lit_VarLike 'j=') (0)}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{($ VSub_Number '$1')}) ) cond: (arith_expr.Binary op_id: Arith_LessEqual left: (arith_expr.VarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{($ VSub_Number '$2')}) ) update: (arith_expr.UnaryAssign op_id:Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.DParen child: (arith_expr.BinaryAssign op_id: Arith_PlusEqual left: (sh_lhs_expr.IndexedName name: COMPREPLY index: (arith_expr.VarRef token:<Lit_ArithVarLike j>) ) right: (arith_expr.VarRef token:<Lit_ArithVarLike i>) ) ) (command.DParen child: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (sh_lhs_expr.Name name:j) ) ) ] ) ) ] ) ) (command.ShFunction name: _Dbg_complete_level0 body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Arith_Great left: (arith_expr.VarRef token:<Lit_ArithVarLike COMP_POINT>) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(typeset)} {(Lit_VarLike 'commands=') (DQ (braced_var_sub token: <VSub_Name _Dbg_command_help> prefix_op: VSub_Bang bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: Equal rhs: { (sh_array_literal left: <Op_LParen '('> words: [ { (command_sub left_token: <Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_DollarName '$commands'))} {(DQ ($ VSub_DollarName '$COMP_LINE'))} ) ] ) ) } ] ) } ) ] ) ] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: Equal rhs: { (sh_array_literal left: <Op_LParen '('> words: [ { (braced_var_sub token: <VSub_Name _Dbg_command_help> prefix_op: VSub_Bang bracket_op: (bracket_op.WholeArray op_id:Lit_At) ) } ] ) } ) ] ) ] ) ] ) ) (command.ShFunction name: _Dbg_complete_level_0_init body: (command.BraceGroup children:[(C {(complete)} {(-D)} {(-F)} {(_Dbg_complete_level0)})]) ) ] )