(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: [-1 235] ) ] else_action: [(C {(cat)} {(DQ ($ VSub_At "$@"))})] spids: [246 255] ) (C {(sed)} { (DQ ("\n") ("s/^") (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (3) (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) (".*") (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (4) (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) (/) ($ VSub_Name "$CHG") ("&") ($ VSub_Name "$RST") ("/;t\n") (" s/^-") (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (3) (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) (".*-") (EscapedLiteralPart token:<Lit_EscapedChar "\\{">) (4) (EscapedLiteralPart token:<Lit_EscapedChar "\\}">) (/) ($ 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/^") (EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (".*/") ($ VSub_Name "$ADD") ("&") ($ VSub_Name "$RST") ("/;t\n") (" s/^") (EscapedLiteralPart token:<Lit_EscapedChar "\\+">) (".*/") ($ 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: [357 362] ) } ) ] negated: False ) ] )