Mercurial > vim
annotate src/term.h @ 11829:f7091bdf552b
Added tag v8.0.0794 for changeset 5a07a3ff56c196fc004d710df087f005d7a86b0e
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 28 Jul 2017 17:00:06 +0200 |
parents | 0c091a7c588c |
children | ca4931a20f8c |
rev | line source |
---|---|
10042
4aead6a9b7a9
commit https://github.com/vim/vim/commit/edf3f97ae2af024708ebb4ac614227327033ca47
Christian Brabandt <cb@256bit.org>
parents:
8969
diff
changeset
|
1 /* vi:set ts=8 sts=4 sw=4 noet: |
7 | 2 * |
3 * VIM - Vi IMproved by Bram Moolenaar | |
4 * | |
5 * Do ":help uganda" in Vim to read copying and usage conditions. | |
6 * Do ":help credits" in Vim to see a list of people who contributed. | |
7 */ | |
8 | |
9 /* | |
10 * This file contains the defines for the machine dependent escape sequences | |
11 * that the editor needs to perform various operations. All of the sequences | |
12 * here are optional, except "cm" (cursor motion). | |
13 */ | |
14 | |
15 #if defined(SASC) && SASC < 658 | |
16 /* | |
17 * The SAS C compiler has a bug that makes typedefs being forgot in include | |
18 * files. Has been fixed in version 6.58. | |
19 */ | |
20 typedef unsigned char char_u; | |
21 #endif | |
22 | |
23 /* | |
24 * Index of the termcap codes in the term_strings array. | |
25 */ | |
26 enum SpecialKey | |
27 { | |
28 KS_NAME = 0,/* name of this terminal entry */ | |
29 KS_CE, /* clear to end of line */ | |
30 KS_AL, /* add new blank line */ | |
31 KS_CAL, /* add number of blank lines */ | |
32 KS_DL, /* delete line */ | |
33 KS_CDL, /* delete number of lines */ | |
34 KS_CS, /* scroll region */ | |
35 KS_CL, /* clear screen */ | |
36 KS_CD, /* clear to end of display */ | |
37 KS_UT, /* clearing uses current background color */ | |
38 KS_DA, /* text may be scrolled down from up */ | |
39 KS_DB, /* text may be scrolled up from down */ | |
40 KS_VI, /* cursor invisible */ | |
41 KS_VE, /* cursor visible */ | |
42 KS_VS, /* cursor very visible */ | |
43 KS_ME, /* normal mode */ | |
44 KS_MR, /* reverse mode */ | |
45 KS_MD, /* bold mode */ | |
46 KS_SE, /* normal mode */ | |
47 KS_SO, /* standout mode */ | |
48 KS_CZH, /* italic mode start */ | |
49 KS_CZR, /* italic mode end */ | |
213 | 50 KS_UE, /* exit underscore (underline) mode */ |
51 KS_US, /* underscore (underline) mode */ | |
52 KS_UCE, /* exit undercurl mode */ | |
53 KS_UCS, /* undercurl mode */ | |
7 | 54 KS_MS, /* save to move cur in reverse mode */ |
55 KS_CM, /* cursor motion */ | |
56 KS_SR, /* scroll reverse (backward) */ | |
57 KS_CRI, /* cursor number of chars right */ | |
58 KS_VB, /* visual bell */ | |
59 KS_KS, /* put term in "keypad transmit" mode */ | |
60 KS_KE, /* out of "keypad transmit" mode */ | |
61 KS_TI, /* put terminal in termcap mode */ | |
62 KS_TE, /* out of termcap mode */ | |
63 KS_BC, /* backspace character (cursor left) */ | |
64 KS_CCS, /* cur is relative to scroll region */ | |
65 KS_CCO, /* number of colors */ | |
66 KS_CSF, /* set foreground color */ | |
67 KS_CSB, /* set background color */ | |
68 KS_XS, /* standout not erased by overwriting (hpterm) */ | |
6602 | 69 KS_XN, /* newline glitch */ |
7 | 70 KS_MB, /* blink mode */ |
71 KS_CAF, /* set foreground color (ANSI) */ | |
72 KS_CAB, /* set background color (ANSI) */ | |
73 KS_LE, /* cursor left (mostly backspace) */ | |
74 KS_ND, /* cursor right */ | |
75 KS_CIS, /* set icon text start */ | |
76 KS_CIE, /* set icon text end */ | |
77 KS_TS, /* set window title start (to status line)*/ | |
78 KS_FS, /* set window title end (from status line) */ | |
79 KS_CWP, /* set window position in pixels */ | |
11315
0c091a7c588c
patch 8.0.0543: test_edit causes older xfce4-terminal to close
Christian Brabandt <cb@256bit.org>
parents:
11158
diff
changeset
|
80 KS_CGP, /* get window position */ |
7 | 81 KS_CWS, /* set window size in characters */ |
82 KS_CRV, /* request version string */ | |
6874 | 83 KS_RBG, /* request background color */ |
36 | 84 KS_CSI, /* start insert mode (bar cursor) */ |
85 KS_CEI, /* end insert mode (block cursor) */ | |
6727 | 86 KS_CSR, /* start replace mode (underline cursor) */ |
8643
24b43dd167eb
commit https://github.com/vim/vim/commit/44a2f923c00f1384c9ecde12fb5b4711bc20702e
Christian Brabandt <cb@256bit.org>
parents:
6874
diff
changeset
|
87 #ifdef FEAT_WINDOWS |
7 | 88 KS_CSV, /* scroll region vertical */ |
89 #endif | |
4215 | 90 KS_OP, /* original color pair */ |
8969
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8643
diff
changeset
|
91 KS_U7, /* request cursor position */ |
c83e2c1e7f2b
commit https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd
Christian Brabandt <cb@256bit.org>
parents:
8643
diff
changeset
|
92 KS_8F, /* set foreground color (RGB) */ |
10640
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
93 KS_8B, /* set background color (RGB) */ |
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
94 KS_CBE, /* enable bracketed paste mode */ |
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
95 KS_CBD, /* disable bracketed paste mode */ |
11158
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
96 KS_CPS, /* start of bracketed paste */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
97 KS_CPE /* end of bracketed paste */ |
7 | 98 }; |
99 | |
10640
27be410d6d29
patch 8.0.0210: no support for bracketed paste
Christian Brabandt <cb@256bit.org>
parents:
10042
diff
changeset
|
100 #define KS_LAST KS_CPE |
7 | 101 |
102 /* | |
103 * the terminal capabilities are stored in this array | |
104 * IMPORTANT: When making changes, note the following: | |
105 * - there should be an entry for each code in the builtin termcaps | |
106 * - there should be an option for each code in option.c | |
107 * - there should be code in term.c to obtain the value from the termcap | |
108 */ | |
109 | |
110 extern char_u *(term_strings[]); /* current terminal strings */ | |
111 | |
112 /* | |
113 * strings used for terminal | |
114 */ | |
11158
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
115 #define T_NAME (TERM_STR(KS_NAME)) /* terminal name */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
116 #define T_CE (TERM_STR(KS_CE)) /* clear to end of line */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
117 #define T_AL (TERM_STR(KS_AL)) /* add new blank line */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
118 #define T_CAL (TERM_STR(KS_CAL)) /* add number of blank lines */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
119 #define T_DL (TERM_STR(KS_DL)) /* delete line */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
120 #define T_CDL (TERM_STR(KS_CDL)) /* delete number of lines */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
121 #define T_CS (TERM_STR(KS_CS)) /* scroll region */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
122 #define T_CSV (TERM_STR(KS_CSV)) /* scroll region vertical */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
123 #define T_CL (TERM_STR(KS_CL)) /* clear screen */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
124 #define T_CD (TERM_STR(KS_CD)) /* clear to end of display */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
125 #define T_UT (TERM_STR(KS_UT)) /* clearing uses background color */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
126 #define T_DA (TERM_STR(KS_DA)) /* text may be scrolled down from up */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
127 #define T_DB (TERM_STR(KS_DB)) /* text may be scrolled up from down */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
128 #define T_VI (TERM_STR(KS_VI)) /* cursor invisible */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
129 #define T_VE (TERM_STR(KS_VE)) /* cursor visible */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
130 #define T_VS (TERM_STR(KS_VS)) /* cursor very visible */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
131 #define T_ME (TERM_STR(KS_ME)) /* normal mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
132 #define T_MR (TERM_STR(KS_MR)) /* reverse mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
133 #define T_MD (TERM_STR(KS_MD)) /* bold mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
134 #define T_SE (TERM_STR(KS_SE)) /* normal mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
135 #define T_SO (TERM_STR(KS_SO)) /* standout mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
136 #define T_CZH (TERM_STR(KS_CZH)) /* italic mode start */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
137 #define T_CZR (TERM_STR(KS_CZR)) /* italic mode end */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
138 #define T_UE (TERM_STR(KS_UE)) /* exit underscore (underline) mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
139 #define T_US (TERM_STR(KS_US)) /* underscore (underline) mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
140 #define T_UCE (TERM_STR(KS_UCE)) /* exit undercurl mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
141 #define T_UCS (TERM_STR(KS_UCS)) /* undercurl mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
142 #define T_MS (TERM_STR(KS_MS)) /* save to move cur in reverse mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
143 #define T_CM (TERM_STR(KS_CM)) /* cursor motion */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
144 #define T_SR (TERM_STR(KS_SR)) /* scroll reverse (backward) */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
145 #define T_CRI (TERM_STR(KS_CRI)) /* cursor number of chars right */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
146 #define T_VB (TERM_STR(KS_VB)) /* visual bell */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
147 #define T_KS (TERM_STR(KS_KS)) /* put term in "keypad transmit" mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
148 #define T_KE (TERM_STR(KS_KE)) /* out of "keypad transmit" mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
149 #define T_TI (TERM_STR(KS_TI)) /* put terminal in termcap mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
150 #define T_TE (TERM_STR(KS_TE)) /* out of termcap mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
151 #define T_BC (TERM_STR(KS_BC)) /* backspace character */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
152 #define T_CCS (TERM_STR(KS_CCS)) /* cur is relative to scroll region */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
153 #define T_CCO (TERM_STR(KS_CCO)) /* number of colors */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
154 #define T_CSF (TERM_STR(KS_CSF)) /* set foreground color */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
155 #define T_CSB (TERM_STR(KS_CSB)) /* set background color */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
156 #define T_XS (TERM_STR(KS_XS)) /* standout not erased by overwriting */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
157 #define T_XN (TERM_STR(KS_XN)) /* newline glitch */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
158 #define T_MB (TERM_STR(KS_MB)) /* blink mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
159 #define T_CAF (TERM_STR(KS_CAF)) /* set foreground color (ANSI) */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
160 #define T_CAB (TERM_STR(KS_CAB)) /* set background color (ANSI) */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
161 #define T_LE (TERM_STR(KS_LE)) /* cursor left */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
162 #define T_ND (TERM_STR(KS_ND)) /* cursor right */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
163 #define T_CIS (TERM_STR(KS_CIS)) /* set icon text start */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
164 #define T_CIE (TERM_STR(KS_CIE)) /* set icon text end */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
165 #define T_TS (TERM_STR(KS_TS)) /* set window title start */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
166 #define T_FS (TERM_STR(KS_FS)) /* set window title end */ |
11315
0c091a7c588c
patch 8.0.0543: test_edit causes older xfce4-terminal to close
Christian Brabandt <cb@256bit.org>
parents:
11158
diff
changeset
|
167 #define T_CWP (TERM_STR(KS_CWP)) /* set window position */ |
0c091a7c588c
patch 8.0.0543: test_edit causes older xfce4-terminal to close
Christian Brabandt <cb@256bit.org>
parents:
11158
diff
changeset
|
168 #define T_CGP (TERM_STR(KS_CGP)) /* get window position */ |
11158
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
169 #define T_CWS (TERM_STR(KS_CWS)) /* window size */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
170 #define T_CSI (TERM_STR(KS_CSI)) /* start insert mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
171 #define T_CEI (TERM_STR(KS_CEI)) /* end insert mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
172 #define T_CSR (TERM_STR(KS_CSR)) /* start replace mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
173 #define T_CRV (TERM_STR(KS_CRV)) /* request version string */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
174 #define T_RBG (TERM_STR(KS_RBG)) /* request background RGB */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
175 #define T_OP (TERM_STR(KS_OP)) /* original color pair */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
176 #define T_U7 (TERM_STR(KS_U7)) /* request cursor position */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
177 #define T_8F (TERM_STR(KS_8F)) /* set foreground color (RGB) */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
178 #define T_8B (TERM_STR(KS_8B)) /* set background color (RGB) */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
179 #define T_BE (TERM_STR(KS_CBE)) /* enable bracketed paste mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
180 #define T_BD (TERM_STR(KS_CBD)) /* disable bracketed paste mode */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
181 #define T_PS (TERM_STR(KS_CPS)) /* start of bracketed paste */ |
501f46f7644c
patch 8.0.0466: still macros that should be all-caps
Christian Brabandt <cb@256bit.org>
parents:
10640
diff
changeset
|
182 #define T_PE (TERM_STR(KS_CPE)) /* end of bracketed paste */ |
7 | 183 |
184 #define TMODE_COOK 0 /* terminal mode for external cmds and Ex mode */ | |
185 #define TMODE_SLEEP 1 /* terminal mode for sleeping (cooked but no echo) */ | |
186 #define TMODE_RAW 2 /* terminal mode for Normal and Insert mode */ |