(command.CommandList children: [ (command.AndOr ops: [Op_DAmp] children: [ (command.Simple words: [{(less)} {(-K)} {(-Ff)} {(/dev/null)}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:CTRL_C_EXITS) op:Equal rhs:{(DQ (-K))})] ) ] ) (command.CommandList children: [ (command.Sentence child: (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:RED) op:Equal rhs:{(1)})] ) terminator: <Op_Semi ';'> ) (command.Sentence child: (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:GREEN) op:Equal rhs:{(2)})] ) terminator: <Op_Semi ';'> ) (command.Sentence child: (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:BLUE) op:Equal rhs:{(4)})] ) terminator: <Op_Semi ';'> ) (command.Assignment pairs: [(assign_pair lhs:(lhs_expr.LhsName name:BRIGHT) op:Equal rhs:{(SQ <'1;'>)})] ) ] ) (command.FuncDef name: tputc body: (command.BraceGroup children: [ (command.Sentence child: (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:bright) op: Equal rhs: {($ VSub_Number '$1')} ) ] ) terminator: <Op_Semi ';'> ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:colour) op: Equal rhs: {($ VSub_Number '$2')} ) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_LBracket '[')} {(DQ ($ VSub_DollarName '$bright'))} {(Lit_RBracket ']')}) (C {(tput)} {(bold)}) ] ) (C {(tput)} {(setaf)} {($ VSub_DollarName '$colour')}) ] ) ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEL) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (C {(tputc)} {($ VSub_DollarName '$BRIGHT')} {($ VSub_DollarName '$RED')}) ] ) ) ) } ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ADD) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (C {(tputc)} {($ VSub_DollarName '$BRIGHT')} {($ VSub_DollarName '$GREEN')}) ] ) ) ) } ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CHG) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_Backtick '`'> command_list: (command.CommandList children: [ (C {(tputc)} {($ VSub_DollarName '$BRIGHT')} {($ VSub_DollarName '$BLUE')}) ] ) ) ) } ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:FIL) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(tput)} {(smso)})]) ) ) } ) ] ) (command.Assignment pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RST) op: Equal rhs: { (DQ (word_part.CommandSub left_token: <Left_Backtick '`'> command_list: (command.CommandList children:[(C {(tput)} {(sgr0)})]) ) ) } ) ] ) (command.Pipeline children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_LBracket '[')} {(DQ ($ VSub_Pound '$#'))} {(-eq)} {(DQ (2))} {(Lit_RBracket ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(diff)} {(-Naru)} {(DQ ($ VSub_At '$@'))})] ) ] else_action: [(C {(cat)} {(DQ ($ VSub_At '$@'))})] ) (C {(sed)} { (DQ ('\n') ('s/^') (Lit_Other '\\') ('*') (Lit_Other '\\') ('{3') (Lit_Other '\\') ('}.*') (Lit_Other '\\') ('*') (Lit_Other '\\') ('{4') (Lit_Other '\\') ('}/') ($ VSub_DollarName '$CHG') ('&') ($ VSub_DollarName '$RST') ('/;t\n') (' s/^-') (Lit_Other '\\') ('{3') (Lit_Other '\\') ('}.*-') (Lit_Other '\\') ('{4') (Lit_Other '\\') ('}/') ($ VSub_DollarName '$CHG') ('&') ($ VSub_DollarName '$RST') ('/;t\n') (' s/^@.*/') ($ VSub_DollarName '$CHG') ('&') ($ VSub_DollarName '$RST') ('/;t\n') (' s/^[0-9].*/') ($ VSub_DollarName '$CHG') ('&') ($ VSub_DollarName '$RST') ('/;t\n') (' s/^!.*/') ($ VSub_DollarName '$CHG') ('&') ($ VSub_DollarName '$RST') ('/;t\n') ('\n') (' s/^-.*/') ($ VSub_DollarName '$DEL') ('&') ($ VSub_DollarName '$RST') ('/;t\n') (' s/^<.*/') ($ VSub_DollarName '$DEL') ('&') ($ VSub_DollarName '$RST') ('/;t\n') ('\n') (' s/^') (Lit_Other '\\') ('*.*/') ($ VSub_DollarName '$ADD') ('&') ($ VSub_DollarName '$RST') ('/;t\n') (' s/^') (Lit_Other '\\') ('+.*/') ($ VSub_DollarName '$ADD') ('&') ($ VSub_DollarName '$RST') ('/;t\n') (' s/^>.*/') ($ VSub_DollarName '$ADD') ('&') ($ VSub_DollarName '$RST') ('/;t\n') ('\n') (' s/^Only in.*/') ($ VSub_DollarName '$FIL') ('&') ($ VSub_DollarName '$RST') ('/;t\n') (' s/^Index: .*/') ($ VSub_DollarName '$FIL') ('&') ($ VSub_DollarName '$RST') ('/;t\n') (' s/^diff .*/') ($ VSub_DollarName '$FIL') ('&') ($ VSub_DollarName '$RST') ('/;t\n') ) } ) (C { (word_part.BracedVarSub token: <VSub_Name PAGER> suffix_op: (suffix_op.Unary op_id: VTest_ColonHyphen arg_word: {('less -QRS ') ($ VSub_DollarName '$CTRL_C_EXITS')} ) ) } ) ] negated: F ) ] )