tinyusb
ansi_escape.h
1 /**************************************************************************/
37 /**************************************************************************/
38 
43 #ifndef _TUSB_ANSI_ESC_CODE_H_
44 #define _TUSB_ANSI_ESC_CODE_H_
45 
46 
47 #ifdef __cplusplus
48  extern "C" {
49 #endif
50 
51 #define CSI_CODE(seq) "\33[" seq
52 #define CSI_SGR(x) CSI_CODE(#x) "m"
53 
54 //------------- Cursor movement -------------//
57 #define ANSI_CURSOR_UP(n) CSI_CODE(#n "A")
58 #define ANSI_CURSOR_DOWN(n) CSI_CODE(#n "B")
59 #define ANSI_CURSOR_FORWARD(n) CSI_CODE(#n "C")
60 #define ANSI_CURSOR_BACKWARD(n) CSI_CODE(#n "D")
61 #define ANSI_CURSOR_LINE_DOWN(n) CSI_CODE(#n "E")
62 #define ANSI_CURSOR_LINE_UP(n) CSI_CODE(#n "F")
63 #define ANSI_CURSOR_POSITION(n, m) CSI_CODE(#n ";" #m "H")
64 
66 //------------- Screen -------------//
67 
69 #define ANSI_ERASE_SCREEN(n) CSI_CODE(#n "J")
70 #define ANSI_ERASE_LINE(n) CSI_CODE(#n "K")
71 #define ANSI_SCROLL_UP(n) CSI_CODE(#n "S")
72 #define ANSI_SCROLL_DOWN(n) CSI_CODE(#n "T")
73 
75 //------------- Text Color -------------//
76 
78 #define ANSI_TEXT_BLACK CSI_SGR(30)
79 #define ANSI_TEXT_RED CSI_SGR(31)
80 #define ANSI_TEXT_GREEN CSI_SGR(32)
81 #define ANSI_TEXT_YELLOW CSI_SGR(33)
82 #define ANSI_TEXT_BLUE CSI_SGR(34)
83 #define ANSI_TEXT_MAGENTA CSI_SGR(35)
84 #define ANSI_TEXT_CYAN CSI_SGR(36)
85 #define ANSI_TEXT_WHITE CSI_SGR(37)
86 #define ANSI_TEXT_DEFAULT CSI_SGR(39)
87 
89 //------------- Background Color -------------//
92 #define ANSI_BG_BLACK CSI_SGR(40)
93 #define ANSI_BG_RED CSI_SGR(41)
94 #define ANSI_BG_GREEN CSI_SGR(42)
95 #define ANSI_BG_YELLOW CSI_SGR(43)
96 #define ANSI_BG_BLUE CSI_SGR(44)
97 #define ANSI_BG_MAGENTA CSI_SGR(45)
98 #define ANSI_BG_CYAN CSI_SGR(46)
99 #define ANSI_BG_WHITE CSI_SGR(47)
100 #define ANSI_BG_DEFAULT CSI_SGR(49)
101 
103 #ifdef __cplusplus
104  }
105 #endif
106 
107 #endif /* _TUSB_ANSI_ESC_CODE_H_ */
108