github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/utils/ansi/consts.go (about)

     1  package ansi
     2  
     3  var constants = map[string][]byte{
     4  	// ascii control codes
     5  	"^@": {0},
     6  	"^A": {1},
     7  	"^B": {2},
     8  	"^C": {3},
     9  	"^D": {4},
    10  	"^E": {5},
    11  	"^F": {6},
    12  	"^G": {7},
    13  	"^H": {8},
    14  	"^I": {9},
    15  	"^J": {10},
    16  	"^K": {11},
    17  	"^L": {12},
    18  	"^M": {13},
    19  	"^N": {14},
    20  	"^O": {15},
    21  	"^P": {16},
    22  	"^Q": {17},
    23  	"^R": {18},
    24  	"^S": {19},
    25  	"^T": {20},
    26  	"^U": {21},
    27  	"^V": {22},
    28  	"^W": {23},
    29  	"^X": {24},
    30  	"^Y": {25},
    31  	"^Z": {26},
    32  	"^[": {27},
    33  	`^/`: {28},
    34  	"^]": {29},
    35  	"^^": {30},
    36  	"^_": {31},
    37  
    38  	"^?": {127},
    39  
    40  	// ascii human readable
    41  	"EOF":      {4},
    42  	"EOT":      {4},
    43  	"BELL":     {7},
    44  	"BS-ISO":   {8},
    45  	"LF":       {10},
    46  	"CR":       {13},
    47  	"CRLF":     {13, 10},
    48  	"ESC":      {27},
    49  	"ESCAPE":   {27},
    50  	"BS-ASCII": {127},
    51  
    52  	// ansi escape sequences
    53  	"CURSOR-UP":         {27, 91, 65},
    54  	"CURSOR-DOWN":       {27, 91, 66},
    55  	"CURSOR-FORWARDS":   {27, 91, 67},
    56  	"CURSOR-BACKWARDS":  {27, 91, 68},
    57  	"CURSOR-HOME":       {27, 91, 72},
    58  	"CURSOR-HOME-VT100": {27, 91, 49, 126},
    59  	"CURSOR-END":        {27, 91, 70},
    60  	"CURSOR-END-VT100":  {27, 91, 52, 126},
    61  
    62  	"INS":    {27, 91, 50, 126},
    63  	"INSERT": {27, 91, 50, 126},
    64  	"DEL":    {27, 91, 51, 126},
    65  	"DELETE": {27, 91, 51, 126},
    66  
    67  	// function keys
    68  	"F1-VT100": {27, 79, 80},
    69  	"F2-VT100": {27, 79, 81},
    70  	"F3-VT100": {27, 79, 82},
    71  	"F4-VT100": {27, 79, 83},
    72  	"F1":       {27, 91, 49, 49, 126},
    73  	"F2":       {27, 91, 49, 50, 126},
    74  	"F3":       {27, 91, 49, 51, 126},
    75  	"F4":       {27, 91, 49, 52, 126},
    76  	"F5":       {27, 91, 49, 53, 126},
    77  	"F6":       {27, 91, 49, 55, 126},
    78  	"F7":       {27, 91, 49, 56, 126},
    79  	"F8":       {27, 91, 49, 57, 126},
    80  	"F9":       {27, 91, 50, 48, 126},
    81  	"F10":      {27, 91, 50, 49, 126},
    82  	"F11":      {27, 91, 50, 51, 126},
    83  	"F12":      {27, 91, 50, 52, 126},
    84  
    85  	// alt-num
    86  	"ALT-0": {27, 48},
    87  	"ALT-1": {27, 49},
    88  	"ALT-2": {27, 50},
    89  	"ALT-3": {27, 51},
    90  	"ALT-4": {27, 52},
    91  	"ALT-5": {27, 53},
    92  	"ALT-6": {27, 54},
    93  	"ALT-7": {27, 55},
    94  	"ALT-8": {27, 56},
    95  	"ALT-9": {27, 57},
    96  
    97  	// control seqs
    98  	"CSI": {27, 91},
    99  }
   100  
   101  var sgr = map[string][]byte{
   102  	// text effects
   103  	"RESET":      {27, 91, 48, 109},
   104  	"BOLD":       {27, 91, 49, 109},
   105  	"ITALIC":     {27, 91, 51, 109}, // Not commonly supported in terminals
   106  	"UNDERSCORE": {27, 91, 52, 109},
   107  	"UNDERLINE":  {27, 91, 52, 109},
   108  	"UNDEROFF":   {27, 91, '2', '4', 109},
   109  	"BLINK":      {27, 91, 53, 109},
   110  	"INVERT":     {27, 91, 55, 109},
   111  
   112  	"ALT-FONT-1": {27, 91, 49, 49, 109}, // Not commonly supported in terminals
   113  	"ALT-FONT-2": {27, 91, 49, 50, 109}, // Not commonly supported in terminals
   114  	"ALT-FONT-3": {27, 91, 49, 51, 109}, // Not commonly supported in terminals
   115  	"ALT-FONT-4": {27, 91, 49, 52, 109}, // Not commonly supported in terminals
   116  	"ALT-FONT-5": {27, 91, 49, 53, 109}, // Not commonly supported in terminals
   117  	"ALT-FONT-6": {27, 91, 49, 54, 109}, // Not commonly supported in terminals
   118  	"ALT-FONT-7": {27, 91, 49, 55, 109}, // Not commonly supported in terminals
   119  	"ALT-FONT-8": {27, 91, 49, 56, 109}, // Not commonly supported in terminals
   120  	"ALT-FONT-9": {27, 91, 49, 57, 109}, // Not commonly supported in terminals
   121  	"FRAKTUR":    {27, 91, 50, 48, 109}, // Not commonly supported in terminals
   122  
   123  	// text colours
   124  	"BLACK":   {27, 91, 51, 48, 109},
   125  	"RED":     {27, 91, 51, 49, 109},
   126  	"GREEN":   {27, 91, 51, 50, 109},
   127  	"YELLOW":  {27, 91, 51, 51, 109},
   128  	"BLUE":    {27, 91, 51, 52, 109},
   129  	"MAGENTA": {27, 91, 51, 53, 109},
   130  	"CYAN":    {27, 91, 51, 54, 109},
   131  	"WHITE":   {27, 91, 51, 55, 109},
   132  
   133  	"BLACK-BRIGHT":   {27, 91, 49, 59, 51, 48, 109},
   134  	"RED-BRIGHT":     {27, 91, 49, 59, 51, 48, 109},
   135  	"GREEN-BRIGHT":   {27, 91, 49, 59, 51, 48, 109},
   136  	"YELLOW-BRIGHT":  {27, 91, 49, 59, 51, 48, 109},
   137  	"BLUE-BRIGHT":    {27, 91, 49, 59, 51, 48, 109},
   138  	"MAGENTA-BRIGHT": {27, 91, 49, 59, 51, 48, 109},
   139  	"CYAN-BRIGHT":    {27, 91, 49, 59, 51, 48, 109},
   140  	"WHITE-BRIGHT":   {27, 91, 49, 59, 51, 48, 109},
   141  
   142  	// background colours
   143  	"BG-BLACK":   {27, 91, 52, 48, 109},
   144  	"BG-RED":     {27, 91, 52, 49, 109},
   145  	"BG-GREEN":   {27, 91, 52, 50, 109},
   146  	"BG-YELLOW":  {27, 91, 52, 51, 109},
   147  	"BG-BLUE":    {27, 91, 52, 52, 109},
   148  	"BG-MAGENTA": {27, 91, 52, 53, 109},
   149  	"BG-CYAN":    {27, 91, 52, 54, 109},
   150  	"BG-WHITE":   {27, 91, 52, 55, 109},
   151  
   152  	"BG-BLACK-BRIGHT":   {27, 91, 49, 59, 52, 48, 109},
   153  	"BG-RED-BRIGHT":     {27, 91, 49, 59, 52, 48, 109},
   154  	"BG-GREEN-BRIGHT":   {27, 91, 49, 59, 52, 48, 109},
   155  	"BG-YELLOW-BRIGHT":  {27, 91, 49, 59, 52, 48, 109},
   156  	"BG-BLUE-BRIGHT":    {27, 91, 49, 59, 52, 48, 109},
   157  	"BG-MAGENTA-BRIGHT": {27, 91, 49, 59, 52, 48, 109},
   158  	"BG-CYAN-BRIGHT":    {27, 91, 49, 59, 52, 48, 109},
   159  	"BG-WHITE-BRIGHT":   {27, 91, 49, 59, 52, 48, 109},
   160  }