(CommandList children: [ (If arms: [ (if_arm cond: [(Sentence child:(C {(test)} {(-t)} {(1)}) terminator:<Op_Semi ";">)] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NUM_COLORS) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(colors)})]) left_token: <Left_CommandSub "$("> spids: [24 28] ) } spids: [23] ) ] spids: [23] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(test)} {(-n)} {(DQ (${ VSub_Name NUM_COLORS))}) (C {(test)} {(${ VSub_Name NUM_COLORS)} {(-ge)} {(8)}) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NORMAL) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(sgr0)})]) left_token: <Left_CommandSub "$("> spids: [60 64] ) } spids: [59] ) ] spids: [59] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BOLD) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(bold)})]) left_token: <Left_CommandSub "$("> spids: [68 72] ) } spids: [67] ) ] spids: [67] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:UNDERLINE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(smul)})]) left_token: <Left_CommandSub "$("> spids: [76 80] ) } spids: [75] ) ] spids: [75] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REVERSE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(smso)})]) left_token: <Left_CommandSub "$("> spids: [84 88] ) } spids: [83] ) ] spids: [83] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BLINK) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(blink)})]) left_token: <Left_CommandSub "$("> spids: [92 96] ) } spids: [91] ) ] spids: [91] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BLACK) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(setaf)} {(0)})]) left_token: <Left_CommandSub "$("> spids: [100 106] ) } spids: [99] ) ] spids: [99] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RED) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(setaf)} {(1)})]) left_token: <Left_CommandSub "$("> spids: [110 116] ) } spids: [109] ) ] spids: [109] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GREEN) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(setaf)} {(2)})]) left_token: <Left_CommandSub "$("> spids: [120 126] ) } spids: [119] ) ] spids: [119] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:YELLOW) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(setaf)} {(3)})]) left_token: <Left_CommandSub "$("> spids: [130 136] ) } spids: [129] ) ] spids: [129] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BLUE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(setaf)} {(4)})]) left_token: <Left_CommandSub "$("> spids: [140 146] ) } spids: [139] ) ] spids: [139] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MAGENTA) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(setaf)} {(5)})]) left_token: <Left_CommandSub "$("> spids: [150 156] ) } spids: [149] ) ] spids: [149] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CYAN) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(setaf)} {(6)})]) left_token: <Left_CommandSub "$("> spids: [160 166] ) } spids: [159] ) ] spids: [159] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WHITE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(setaf)} {(7)})]) left_token: <Left_CommandSub "$("> spids: [170 176] ) } spids: [169] ) ] spids: [169] ) ] spids: [-1 56] ) ] spids: [-1 179] ) ] spids: [-1 16] ) ] spids: [-1 181] ) ] )