(CommandList children: [ (AndOr children: [ (SimpleCommand words: [{(less)} {(-K)} {(-Ff)} {(/dev/null)}] redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[95])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CTRL_C_EXITS) op:Equal rhs:{(DQ (-K))} spids:[100])] spids: [100] ) ] op_id: Op_DAmp ) (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:RED) op:Equal rhs:{(1)} spids:[106])] spids: [106] ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:GREEN) op:Equal rhs:{(2)} spids:[110])] spids: [110] ) terminator: <Op_Semi ';'> ) (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:BLUE) op:Equal rhs:{(4)} spids:[114])] spids: [114] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:BRIGHT) op:Equal rhs:{(SQ <'1;'>)} spids:[118])] spids: [118] ) (FuncDef name: tputc body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:bright) op: Equal rhs: {($ VSub_Number '$1')} spids: [131] ) ] spids: [131] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:colour) op: Equal rhs: {($ VSub_Number '$2')} spids: [135] ) ] spids: [135] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$bright'))} {(Lit_Other ']')}) (C {(tput)} {(bold)}) ] op_id: Op_DAmp ) (C {(tput)} {(setaf)} {($ VSub_Name '$colour')}) ] spids: [128] ) spids: [124 127] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEL) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(tputc)} {($ VSub_Name '$BRIGHT')} {($ VSub_Name '$RED')})] ) left_token: <Left_Backtick '`'> spids: [165 171] ) ) } spids: [163] ) ] spids: [163] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ADD) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(tputc)} {($ VSub_Name '$BRIGHT')} {($ VSub_Name '$GREEN')})] ) left_token: <Left_Backtick '`'> spids: [176 182] ) ) } spids: [174] ) ] spids: [174] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHG) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(tputc)} {($ VSub_Name '$BRIGHT')} {($ VSub_Name '$BLUE')})] ) left_token: <Left_Backtick '`'> spids: [187 193] ) ) } spids: [185] ) ] spids: [185] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FIL) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(smso)})]) left_token: <Left_Backtick '`'> spids: [198 202] ) ) } spids: [196] ) ] spids: [196] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RST) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(sgr0)})]) left_token: <Left_Backtick '`'> spids: [210 214] ) ) } spids: [208] ) ] spids: [208] ) (Pipeline children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Pound '$#'))} {(-eq)} {(DQ (2))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(diff)} {(-Naru)} {(DQ ($ VSub_At '$@'))})] spids: [16777215 235] ) ] else_action: [(C {(cat)} {(DQ ($ VSub_At '$@'))})] spids: [246 255] ) (C {(sed)} { (DQ ('\n') ('s/^') (Lit_Other '\\') ('*') (Lit_Other '\\') ('{3') (Lit_Other '\\') ('}.*') (Lit_Other '\\') ('*') (Lit_Other '\\') ('{4') (Lit_Other '\\') ('}/') ($ VSub_Name '$CHG') ('&') ($ VSub_Name '$RST') ('/;t\n') (' s/^-') (Lit_Other '\\') ('{3') (Lit_Other '\\') ('}.*-') (Lit_Other '\\') ('{4') (Lit_Other '\\') ('}/') ($ VSub_Name '$CHG') ('&') ($ VSub_Name '$RST') ('/;t\n') (' s/^@.*/') ($ VSub_Name '$CHG') ('&') ($ VSub_Name '$RST') ('/;t\n') (' s/^[0-9].*/') ($ VSub_Name '$CHG') ('&') ($ VSub_Name '$RST') ('/;t\n') (' s/^!.*/') ($ VSub_Name '$CHG') ('&') ($ VSub_Name '$RST') ('/;t\n') ('\n') (' s/^-.*/') ($ VSub_Name '$DEL') ('&') ($ VSub_Name '$RST') ('/;t\n') (' s/^<.*/') ($ VSub_Name '$DEL') ('&') ($ VSub_Name '$RST') ('/;t\n') ('\n') (' s/^') (Lit_Other '\\') ('*.*/') ($ VSub_Name '$ADD') ('&') ($ VSub_Name '$RST') ('/;t\n') (' s/^') (Lit_Other '\\') ('+.*/') ($ VSub_Name '$ADD') ('&') ($ VSub_Name '$RST') ('/;t\n') (' s/^>.*/') ($ VSub_Name '$ADD') ('&') ($ VSub_Name '$RST') ('/;t\n') ('\n') (' s/^Only in.*/') ($ VSub_Name '$FIL') ('&') ($ VSub_Name '$RST') ('/;t\n') (' s/^Index: .*/') ($ VSub_Name '$FIL') ('&') ($ VSub_Name '$RST') ('/;t\n') (' s/^diff .*/') ($ VSub_Name '$FIL') ('&') ($ VSub_Name '$RST') ('/;t\n') ) } ) (C { (BracedVarSub token: <VSub_Name PAGER> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {('less -QRS ') ($ VSub_Name '$CTRL_C_EXITS')} ) spids: [359 364] ) } ) ] negated: False ) ] )