(command.CommandList children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_Number '$0')} right: { (braced_var_sub token: <Id.VSub_Name BASH_SOURCE> bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 0>}) ) } ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:dirname) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name BASH_SOURCE> bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 0>}) suffix_op: (suffix_op.Unary tok: <Id.VOp1_Percent '%'> arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>} ) ) } spids: [83] ) ] ) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$dirname')} right: {($ Id.VSub_Number '$0')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:top_dir) op: assign_op.Equal rhs: {(SQ <'../..'>)} spids: [107] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:top_dir) op: assign_op.Equal rhs: {(${ Id.VSub_Name dirname) <'/../..'>} spids: [114] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName '$_Dbg_libdir')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_libdir) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$top_dir')} spids: [131] ) ] ) ] ) (command.ForEach iter_name: file iter_words: [{<help>} {<alias>}] do_arg_iter: F body: (command.DoGroup children: [ (command.Sentence child: (C {<source>} {($ Id.VSub_DollarName '$top_dir') <'/lib/'> (${ Id.VSub_Name file) <.sh>} ) terminator: <Id.Op_Semi _> ) ] ) ) ] spids: [61 80] ) ] ) (C {<_Dbg_help_add_sub>} {<set>} {<highlight>} { (SQ <'**set** **highlight** [**dark**|**light**|**off**|**reset**]\n'> <'\n'> <'Set using terminal highlight.\n'> <'\n'> <'Use **reset** to set highlighting on and force a redo of syntax\n'> <'highlighting of already cached files. This may be needed if the\n'> <'debugger was started without syntax highlighting initially.\n'> <'\n'> <'**dark** sets sets for highlighting for a terminal with a dark background and\n'> <'**light** set for highlighting for a terminal with a light background.\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'**show highlight**.\n'> ) } ) (C {<Id.Lit_ArrayLhsOpen '_Dbg_next_complete['> <set>} {<highlight> <Id.Lit_ArrayLhsClose ']='> (SQ <_Dbg_complete_highlight>)} ) (command.ShFunction name: _Dbg_complete_highlight body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [{<dark>} {<light>} {<off>} {<reset>}] ) } spids: [207] ) ] ) ] ) ) (command.ShFunction name: _Dbg_do_set_highlight body: (BraceGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Unary op_id: Id.Arith_Bang child: <Id.Lit_ArithVarLike _Dbg_working_term_highlight> ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<_Dbg_errmsg>} {(DQ <'Can\'t run term-highlight. Setting forced off'>)}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [228 241] ) ] ) (C {<typeset>} {<Id.Lit_VarLike 'onoff='> (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{(SQ <light>)}) ) } ) (command.Case to_match: {($ Id.VSub_DollarName '$onoff')} arms: [ (case_arm pat_list: [{<on>} {<light>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_set_highlight) op: assign_op.Equal rhs: {(SQ <light>)} spids: [287] ) ] ) (C {<_Dbg_filecache_reset>}) (C {<_Dbg_readin>} {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')}) ] spids: [278 284 301 -1] ) (case_arm pat_list: [{<dark>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_set_highlight) op: assign_op.Equal rhs: {(SQ <dark>)} spids: [309] ) ] ) (C {<_Dbg_filecache_reset>}) (C {<_Dbg_readin>} {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')}) ] spids: [304 306 323 -1] ) (case_arm pat_list: [{<off>} {<0>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_set_highlight) op: assign_op.Equal rhs: {(SQ )} spids: [335] ) ] ) (C {<_Dbg_filecache_reset>}) (C {<_Dbg_readin>} {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')}) ] spids: [326 332 348 -1] ) (case_arm pat_list: [{<reset>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName '$_Dbg_set_highlight')} ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_set_highlight) op: assign_op.Equal rhs: {(SQ <light>)} spids: [366] ) ] ) ] ) (C {<_Dbg_filecache_reset>}) (C {<_Dbg_readin>} {($ Id.VSub_DollarName '$_Dbg_frame_last_filename')}) ] spids: [351 353 380 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<_Dbg_errmsg>} {(SQ <'"dark", "light", "off", or "reset" expected.'>)}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [383 385 -1 400] ) ] ) (C {<_Dbg_do_show>} {<highlight>}) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) ] )