(CommandList
  children: [
    (Assignment
      keyword: Assign_Typeset
      flags: [-A]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_debugger_show_commands) op:Equal spids:[65])]
      spids: [61]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-A]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_command_help_show) op:Equal spids:[72])]
      spids: [68]
    )
    (Assignment
      keyword: Assign_Typeset
      flags: [-A]
      pairs: [(assign_pair lhs:(LhsName name:_Dbg_show_nolist) op:Equal spids:[88])]
      spids: [84]
    )
    (C {(_Dbg_help_add)} {(show)} {(SQ )} {(1)} {(_Dbg_complete_show)})
    (ForEach
      iter_name: _Dbg_file
      iter_words: [{(${ VSub_Name _Dbg_libdir) (/command/show_sub/) (Lit_Other '*') (.sh)}]
      do_arg_iter: False
      body: (DoGroup children:[(C {(source)} {($ VSub_Name '$_Dbg_file')})] spids:[124 131])
      spids: [114 122]
    )
    (FuncDef
      name: _Dbg_complete_show
      body: (BraceGroup children:[(C {(_Dbg_complete_subcmd)} {(show)})] spids:[141])
      spids: [137 140]
    )
    (FuncDef
      name: _Dbg_do_show
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subcmd)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [160]
                )
              ]
              spids: [158]
            )
            (AndOr
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_GreatEqual
                      left: (ArithWord w:{($ VSub_Pound '$#')})
                      right: (ArithWord w:{(Lit_Digits 1)})
                    )
                )
                (C {(shift)})
              ]
              op_id: Op_DAmp
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:label)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [180]
                )
              ]
              spids: [178]
            )
            (AndOr
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_GreatEqual
                      left: (ArithWord w:{($ VSub_Pound '$#')})
                      right: (ArithWord w:{(Lit_Digits 1)})
                    )
                )
                (C {(shift)})
              ]
              op_id: Op_DAmp
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$subcmd')})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Typeset
                      pairs: [(assign_pair lhs:(LhsName name:thing) op:Equal spids:[217])]
                      spids: [215]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_Typeset
                          pairs: [(assign_pair lhs:(LhsName name:list) op:Equal spids:[222])]
                          spids: [220]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:list)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name _Dbg_debugger_show_commands>
                                        prefix_op: VSub_Bang
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [228 234]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [225]
                        )
                      ]
                      spids: [225]
                    )
                    (C {(sort_list)} {(0)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name list>
                          prefix_op: VSub_Pound
                          bracket_op: (WholeArray op_id:Lit_At)
                          spids: [243 249]
                        ) (-1)
                      }
                    )
                    (ForEach
                      iter_name: thing
                      iter_words: [
                        {
                          (BracedVarSub
                            token: <VSub_Name list>
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [259 264]
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (AndOr
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name _Dbg_show_nolist>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$thing')})
                                              )
                                            spids: [275 280]
                                          )
                                        }
                                    )
                                )
                                (C {(_Dbg_do_show)} {($ VSub_Name '$thing')} {(1)})
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [268 293]
                        )
                      spids: [258 266]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [16777215 211]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name _Dbg_debugger_show_commands>
                                    bracket_op: 
                                      (ArrayIndex
                                        expr: (ArithWord w:{($ VSub_Name '$subcmd')})
                                      )
                                    spids: [307 312]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (BracedVarSub
                          token: <VSub_Name _Dbg_debugger_show_commands>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$subcmd')}))
                          spids: [321 326]
                        )
                      } {(DQ ($ VSub_Name '$label'))} {(DQ ($ VSub_At '$@'))}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  spids: [301 318]
                )
              ]
              spids: [16777215 342]
            )
            (Case
              to_match: {($ VSub_Name '$subcmd')}
              arms: [
                (case_arm
                  pat_list: [{(lin)} {(line)} {(linet)} {(linetr)} {(linetra)} {(linetrac)} {(linetrace)}]
                  action: [
                    (AndOr
                      children: [
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$label')})
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:label)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(_Dbg_printf_nocr)} {(DQ ('%-12s: '))} 
                                            {(SQ <'line tracing'>)}
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [394 404]
                                  )
                                }
                              spids: [393]
                            )
                          ]
                          spids: [393]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (AndOr
                      children: [
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$label')})
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:label)
                              op: Equal
                              rhs: {(SQ <'line tracing: '>)}
                              spids: [417]
                            )
                          ]
                          spids: [417]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (Assignment
                      keyword: Assign_Typeset
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:onoff)
                          op: Equal
                          rhs: {(DQ (off.))}
                          spids: [425]
                        )
                      ]
                      spids: [423]
                    )
                    (AndOr
                      children: [
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_NEqual
                              left: (ArithVarRef name:_Dbg_set_linetrace)
                              right: (ArithWord w:{(Lit_Digits 0)})
                            )
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:onoff)
                              op: Equal
                              rhs: {(SQ <on.>)}
                              spids: [444]
                            )
                          ]
                          spids: [444]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(_Dbg_msg)} {(DQ (${ VSub_Name label) ('Show line tracing is'))} 
                      {($ VSub_Name '$onoff')}
                    )
                    (C {(_Dbg_msg)} 
                      {
                        (DQ (${ VSub_Name label) ('Show line trace delay is ') 
                          (${ VSub_Name _Dbg_linetrace_delay) (.)
                        )
                      }
                    )
                  ]
                  spids: [354 380 480 16777215]
                )
                (case_arm
                  pat_list: [{(lo)} {(log)} {(logg)} {(loggi)} {(loggin)} {(logging)}]
                  action: [(C {(shift)}) (C {(_Dbg_do_show_logging)} {($ VSub_At '$@')})]
                  spids: [484 506 517 16777215]
                )
                (case_arm
                  pat_list: [
                    {(sho)}
                    {(show)}
                    {(showc)}
                    {(showco)}
                    {(showcom)}
                    {(showcomm)}
                    {(showcomma)}
                    {(showcomman)}
                    {(showcommand)}
                  ]
                  action: [
                    (AndOr
                      children: [
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$label')})
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:label)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(_Dbg_printf_nocr)} {(DQ ('%-12s: '))} 
                                            {(SQ <showcommmand>)}
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [552 562]
                                  )
                                }
                              spids: [551]
                            )
                          ]
                          spids: [551]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(_Dbg_msg)} {(DQ (${ VSub_Name label) ('Show commands in debugger prompt is'))} 
                      {(DQ ($ VSub_Name '$_Dbg_set_show_command') (.))}
                    )
                  ]
                  spids: [520 538 584 16777215]
                )
                (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: [
                    (AndOr
                      children: [
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$label')})
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:label)
                              op: Equal
                              rhs: {(SQ <'trace-commands: '>)}
                              spids: [628]
                            )
                          ]
                          spids: [628]
                        )
                      ]
                      op_id: Op_DAmp
                    )
                    (C {(_Dbg_msg)} {(DQ (${ VSub_Name label) ('State of command tracing is'))} 
                      {(DQ ($ VSub_Name '$_Dbg_set_trace_commands') (.))}
                    )
                  ]
                  spids: [587 615 653 16777215]
                )
                (case_arm
                  pat_list: [{(tt)} {(tty)}]
                  action: [(C {(shift)}) (C {(_Dbg_do_show_tty)} {($ VSub_At '$@')})]
                  spids: [656 662 673 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (C {(_Dbg_errmsg)} {(DQ ('Unknown show subcommand: ') ($ VSub_Name '$subcmd'))})
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_Typeset
                          flags: [-a]
                          pairs: [(assign_pair lhs:(LhsName name:list) op:Equal spids:[692])]
                          spids: [688]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:list)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name _Dbg_debugger_show_commands>
                                        prefix_op: VSub_Bang
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [698 704]
                                      )
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [695]
                        )
                      ]
                      spids: [695]
                    )
                    (C {(sort_list)} {(0)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name list>
                          prefix_op: VSub_Pound
                          bracket_op: (WholeArray op_id:Lit_At)
                          spids: [713 719]
                        ) (-1)
                      }
                    )
                    (Assignment
                      keyword: Assign_Typeset
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:columnized)
                          op: Equal
                          rhs: {(SQ )}
                          spids: [725]
                        )
                      ]
                      spids: [723]
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_Typeset
                          flags: [-i]
                          pairs: [(assign_pair lhs:(LhsName name:width) op:Equal spids:[734])]
                          spids: [730]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (DParen
                      child: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:width)
                          right: 
                            (ArithBinary
                              op_id: Arith_Minus
                              left: (ArithVarRef name:_Dbg_set_linewidth)
                              right: (ArithWord w:{(Lit_Digits 5)})
                            )
                        )
                    )
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_Typeset
                          flags: [-a]
                          pairs: [(assign_pair lhs:(LhsName name:columnized) op:Equal spids:[751])]
                          spids: [747]
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (C {(columnize)} {($ VSub_Name '$width')})
                    (Assignment
                      keyword: Assign_Typeset
                      flags: [-i]
                      pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[763])]
                      spids: [759]
                    )
                    (C {(_Dbg_errmsg)} {(DQ ('Show subcommands are:'))})
                    (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: 
                            (ArithWord
                              w: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name columnized>
                                    prefix_op: VSub_Pound
                                    bracket_op: (WholeArray op_id:Lit_At)
                                    spids: [783 789]
                                  )
                                }
                            )
                        )
                      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                      body: 
                        (DoGroup
                          children: [
                            (C {(_Dbg_errmsg)} 
                              {
                                (DQ ('  ') 
                                  (BracedVarSub
                                    token: <VSub_Name columnized>
                                    bracket_op: (ArrayIndex expr:(ArithVarRef name:i))
                                    spids: [807 812]
                                  )
                                )
                              }
                            )
                          ]
                          spids: [799 816]
                        )
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [676 677 16777215 824]
                )
              ]
              spids: [346 350 824]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [155]
        )
      spids: [151 154]
    )
  ]
)