(command.CommandList children: [ (C {(typeset)} {(-A)} {(_Dbg_debugger_show_commands)}) (C {(typeset)} {(-A)} {(_Dbg_command_help_show)}) (C {(typeset)} {(-A)} {(_Dbg_show_nolist)}) (C {(_Dbg_help_add)} {(show)} {(SQ )} {(1)} {(_Dbg_complete_show)}) (command.ForEach iter_name: _Dbg_file iter_words: [{(${ Id.VSub_Name _Dbg_libdir) (/command/show_sub/) (Id.Lit_Star '*') (.sh)}] do_arg_iter: F body: (command.DoGroup children:[(C {(source)} {($ Id.VSub_DollarName '$_Dbg_file')})]) ) (command.ShFunction name: _Dbg_complete_show body: (command.BraceGroup children:[(C {(_Dbg_complete_subcmd)} {(show)})]) ) (command.ShFunction name: _Dbg_do_show body: (command.BraceGroup children: [ (C {(typeset)} {(Id.Lit_VarLike 'subcmd=') ($ Id.VSub_Number '$1')}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w:{($ Id.VSub_Pound '$#')}) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) (C {(shift)}) ] ) (C {(typeset)} {(Id.Lit_VarLike 'label=') ($ Id.VSub_Number '$1')}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: (arith_expr.ArithWord w:{($ Id.VSub_Pound '$#')}) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) (C {(shift)}) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName '$subcmd')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:209) ) ] action: [ (C {(typeset)} {(thing)}) (command.Sentence child: (C {(typeset)} {(list)}) terminator: (Token id:Id.Op_Semi val:';' span_id:223) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:list) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:226) words: [ { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: _Dbg_debugger_show_commands span_id: 230 ) prefix_op: (Id.VSub_Bang) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] ) } spids: [225] ) ] ) (C {(sort_list)} {(0)} { (braced_var_sub token: (Token id:Id.VSub_Name val:list span_id:245) prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) (-1) } ) (command.ForEach iter_name: thing iter_words: [ { (braced_var_sub token: (Token id:Id.VSub_Name val:list span_id:260) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (braced_var_sub token: (Token id: Id.VSub_Name val: _Dbg_show_nolist span_id: 276 ) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$thing')} ) ) ) } ) ) (C {(_Dbg_do_show)} {($ Id.VSub_DollarName '$thing')} {(1)}) ] ) ] ) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:296) arg_word: {(0)} ) ] spids: [199 211] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (braced_var_sub token: (Token id: Id.VSub_Name val: _Dbg_debugger_show_commands span_id: 308 ) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ Id.VSub_DollarName '$subcmd')} ) ) ) } ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:316) ) ] action: [ (C { (braced_var_sub token: (Token id:Id.VSub_Name val:_Dbg_debugger_show_commands span_id:322) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w:{($ Id.VSub_DollarName '$subcmd')}) ) ) } {(DQ ($ Id.VSub_DollarName '$label'))} {(DQ ($ Id.VSub_At '$@'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:337) arg_word: {(0)} ) ] spids: [301 318] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$subcmd')} arms: [ (case_arm pat_list: [{(lin)} {(line)} {(linet)} {(linetr)} {(linetra)} {(linetrac)} {(linetrace)}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName '$label')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:label) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:394) command_list: (command.CommandList children: [ (C {(_Dbg_printf_nocr)} {(DQ ('%-12s: '))} { (SQ (Token id: Id.Lit_Chars val: 'line tracing' span_id: 402 ) ) } ) ] ) ) } spids: [393] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName '$label')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:label) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'line tracing: ' span_id:419))} spids: [417] ) ] ) ] ) (C {(typeset)} {(Id.Lit_VarLike 'onoff=') (DQ (off.))}) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: _Dbg_set_linetrace span_id: 433 ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 0)}) ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:onoff) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:on. span_id:446))} spids: [444] ) ] ) ] ) (C {(_Dbg_msg)} {(DQ (${ Id.VSub_Name label) ('Show line tracing is'))} {($ Id.VSub_DollarName '$onoff')} ) (C {(_Dbg_msg)} { (DQ (${ Id.VSub_Name label) ('Show line trace delay is ') (${ Id.VSub_Name _Dbg_linetrace_delay) (.) ) } ) ] spids: [354 380 480 -1] ) (case_arm pat_list: [{(lo)} {(log)} {(logg)} {(loggi)} {(loggin)} {(logging)}] action: [(C {(shift)}) (C {(_Dbg_do_show_logging)} {($ Id.VSub_At '$@')})] spids: [484 506 517 -1] ) (case_arm pat_list: [ {(sho)} {(show)} {(showc)} {(showco)} {(showcom)} {(showcomm)} {(showcomma)} {(showcomman)} {(showcommand)} ] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName '$label')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:label) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:552) command_list: (command.CommandList children: [ (C {(_Dbg_printf_nocr)} {(DQ ('%-12s: '))} { (SQ (Token id: Id.Lit_Chars val: showcommmand span_id: 560 ) ) } ) ] ) ) } spids: [551] ) ] ) ] ) (C {(_Dbg_msg)} {(DQ (${ Id.VSub_Name label) ('Show commands in debugger prompt is'))} {(DQ ($ Id.VSub_DollarName '$_Dbg_set_show_command') (.))} ) ] spids: [520 538 584 -1] ) (case_arm pat_list: [ {(t)} {(tr)} {(tra)} {(trac)} {(trace)} {(trace-)} {(tracec)} {(trace-co)} {(trace-com)} {(trace-comm)} {(trace-comma)} {(trace-comman)} {(trace-command)} {(trace-commands)} ] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {($ Id.VSub_DollarName '$label')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:label) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'trace-commands: ' span_id:630))} spids: [628] ) ] ) ] ) (C {(_Dbg_msg)} {(DQ (${ Id.VSub_Name label) ('State of command tracing is'))} {(DQ ($ Id.VSub_DollarName '$_Dbg_set_trace_commands') (.))} ) ] spids: [587 615 653 -1] ) (case_arm pat_list: [{(tt)} {(tty)}] action: [(C {(shift)}) (C {(_Dbg_do_show_tty)} {($ Id.VSub_At '$@')})] spids: [656 662 673 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (C {(_Dbg_errmsg)} {(DQ ('Unknown show subcommand: ') ($ Id.VSub_DollarName '$subcmd'))} ) (command.Sentence child: (C {(typeset)} {(-a)} {(list)}) terminator: (Token id:Id.Op_Semi val:';' span_id:693) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:list) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:696) words: [ { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: _Dbg_debugger_show_commands span_id: 700 ) prefix_op: (Id.VSub_Bang) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] ) } spids: [695] ) ] ) (C {(sort_list)} {(0)} { (braced_var_sub token: (Token id:Id.VSub_Name val:list span_id:715) prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) (-1) } ) (C {(typeset)} {(Id.Lit_VarLike 'columnized=') (SQ )}) (command.Sentence child: (C {(typeset)} {(-i)} {(width)}) terminator: (Token id:Id.Op_Semi val:';' span_id:735) ) (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:width) right: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: _Dbg_set_linewidth span_id: 740 ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 5)}) ) ) ) (command.Sentence child: (C {(typeset)} {(-a)} {(columnized)}) terminator: (Token id:Id.Op_Semi val:';' span_id:752) ) (C {(columnize)} {($ Id.VSub_DollarName '$width')}) (C {(typeset)} {(-i)} {(i)}) (C {(_Dbg_errmsg)} {(DQ ('Show subcommands are:'))}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 0)}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:i span_id:781) ) right: (arith_expr.ArithWord w: { (braced_var_sub token: (Token id:Id.VSub_Name val:columnized span_id:785) prefix_op: (Id.VSub_Pound) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) ) update: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (sh_lhs_expr.Name name:i) ) body: (command.DoGroup children: [ (C {(_Dbg_errmsg)} { (DQ (' ') (braced_var_sub token: (Token id:Id.VSub_Name val:columnized span_id:808) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:i span_id:810) ) ) ) ) } ) ] ) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:819) arg_word: {(1)} ) ] spids: [676 677 -1 824] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:827) arg_word: {($ Id.VSub_QMark '$?')} ) ] ) ) ] )