annotate src/term.h @ 5132:a68629544891 v7.3.1309

updated for version 7.3.1309 Problem: When a script defines a function the flag to wait for the user to hit enter is reset. Solution: Restore the flag. (Yasuhiro Matsumoto) Except when the user was typing the function.
author Bram Moolenaar <bram@vim.org>
date Fri, 05 Jul 2013 18:29:48 +0200
parents ecf21be84def
children c77ef1bf9623
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 /* vi:set ts=8 sts=4 sw=4:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
3 * VIM - Vi IMproved by Bram Moolenaar
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 *
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
5 * Do ":help uganda" in Vim to read copying and usage conditions.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 * Do ":help credits" in Vim to see a list of people who contributed.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 * This file contains the defines for the machine dependent escape sequences
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 * that the editor needs to perform various operations. All of the sequences
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 * here are optional, except "cm" (cursor motion).
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 #if defined(SASC) && SASC < 658
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 * The SAS C compiler has a bug that makes typedefs being forgot in include
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 * files. Has been fixed in version 6.58.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 typedef unsigned char char_u;
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 #endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 * Index of the termcap codes in the term_strings array.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 enum SpecialKey
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 {
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 KS_NAME = 0,/* name of this terminal entry */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 KS_CE, /* clear to end of line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 KS_AL, /* add new blank line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 KS_CAL, /* add number of blank lines */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 KS_DL, /* delete line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 KS_CDL, /* delete number of lines */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 KS_CS, /* scroll region */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 KS_CL, /* clear screen */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 KS_CD, /* clear to end of display */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 KS_UT, /* clearing uses current background color */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 KS_DA, /* text may be scrolled down from up */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 KS_DB, /* text may be scrolled up from down */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 KS_VI, /* cursor invisible */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 KS_VE, /* cursor visible */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 KS_VS, /* cursor very visible */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 KS_ME, /* normal mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 KS_MR, /* reverse mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 KS_MD, /* bold mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 KS_SE, /* normal mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 KS_SO, /* standout mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 KS_CZH, /* italic mode start */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 KS_CZR, /* italic mode end */
213
d85089194104 updated for version 7.0060
vimboss
parents: 36
diff changeset
50 KS_UE, /* exit underscore (underline) mode */
d85089194104 updated for version 7.0060
vimboss
parents: 36
diff changeset
51 KS_US, /* underscore (underline) mode */
d85089194104 updated for version 7.0060
vimboss
parents: 36
diff changeset
52 KS_UCE, /* exit undercurl mode */
d85089194104 updated for version 7.0060
vimboss
parents: 36
diff changeset
53 KS_UCS, /* undercurl mode */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 KS_MS, /* save to move cur in reverse mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55 KS_CM, /* cursor motion */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 KS_SR, /* scroll reverse (backward) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 KS_CRI, /* cursor number of chars right */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 KS_VB, /* visual bell */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 KS_KS, /* put term in "keypad transmit" mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 KS_KE, /* out of "keypad transmit" mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 KS_TI, /* put terminal in termcap mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 KS_TE, /* out of termcap mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 KS_BC, /* backspace character (cursor left) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 KS_CCS, /* cur is relative to scroll region */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 KS_CCO, /* number of colors */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 KS_CSF, /* set foreground color */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 KS_CSB, /* set background color */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 KS_XS, /* standout not erased by overwriting (hpterm) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 KS_MB, /* blink mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 KS_CAF, /* set foreground color (ANSI) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 KS_CAB, /* set background color (ANSI) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 KS_LE, /* cursor left (mostly backspace) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 KS_ND, /* cursor right */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 KS_CIS, /* set icon text start */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 KS_CIE, /* set icon text end */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 KS_TS, /* set window title start (to status line)*/
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
77 KS_FS, /* set window title end (from status line) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 KS_CWP, /* set window position in pixels */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 KS_CWS, /* set window size in characters */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 KS_CRV, /* request version string */
36
125e80798a85 updated for version 7.0021
vimboss
parents: 7
diff changeset
81 KS_CSI, /* start insert mode (bar cursor) */
125e80798a85 updated for version 7.0021
vimboss
parents: 7
diff changeset
82 KS_CEI, /* end insert mode (block cursor) */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 #ifdef FEAT_VERTSPLIT
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 KS_CSV, /* scroll region vertical */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 #endif
4215
ecf21be84def updated for version 7.3.859
Bram Moolenaar <bram@vim.org>
parents: 1879
diff changeset
86 KS_OP, /* original color pair */
ecf21be84def updated for version 7.3.859
Bram Moolenaar <bram@vim.org>
parents: 1879
diff changeset
87 KS_U7 /* request cursor position */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 };
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89
4215
ecf21be84def updated for version 7.3.859
Bram Moolenaar <bram@vim.org>
parents: 1879
diff changeset
90 #define KS_LAST KS_U7
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 * the terminal capabilities are stored in this array
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94 * IMPORTANT: When making changes, note the following:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 * - there should be an entry for each code in the builtin termcaps
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96 * - there should be an option for each code in option.c
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
97 * - there should be code in term.c to obtain the value from the termcap
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 extern char_u *(term_strings[]); /* current terminal strings */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 * strings used for terminal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 #define T_NAME (term_str(KS_NAME)) /* terminal name */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 #define T_CE (term_str(KS_CE)) /* clear to end of line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 #define T_AL (term_str(KS_AL)) /* add new blank line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 #define T_CAL (term_str(KS_CAL)) /* add number of blank lines */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 #define T_DL (term_str(KS_DL)) /* delete line */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 #define T_CDL (term_str(KS_CDL)) /* delete number of lines */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 #define T_CS (term_str(KS_CS)) /* scroll region */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 #define T_CSV (term_str(KS_CSV)) /* scroll region vertical */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 #define T_CL (term_str(KS_CL)) /* clear screen */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 #define T_CD (term_str(KS_CD)) /* clear to end of display */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 #define T_UT (term_str(KS_UT)) /* clearing uses background color */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 #define T_DA (term_str(KS_DA)) /* text may be scrolled down from up */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117 #define T_DB (term_str(KS_DB)) /* text may be scrolled up from down */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 #define T_VI (term_str(KS_VI)) /* cursor invisible */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 #define T_VE (term_str(KS_VE)) /* cursor visible */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120 #define T_VS (term_str(KS_VS)) /* cursor very visible */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
121 #define T_ME (term_str(KS_ME)) /* normal mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122 #define T_MR (term_str(KS_MR)) /* reverse mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 #define T_MD (term_str(KS_MD)) /* bold mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 #define T_SE (term_str(KS_SE)) /* normal mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 #define T_SO (term_str(KS_SO)) /* standout mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 #define T_CZH (term_str(KS_CZH)) /* italic mode start */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 #define T_CZR (term_str(KS_CZR)) /* italic mode end */
213
d85089194104 updated for version 7.0060
vimboss
parents: 36
diff changeset
128 #define T_UE (term_str(KS_UE)) /* exit underscore (underline) mode */
d85089194104 updated for version 7.0060
vimboss
parents: 36
diff changeset
129 #define T_US (term_str(KS_US)) /* underscore (underline) mode */
d85089194104 updated for version 7.0060
vimboss
parents: 36
diff changeset
130 #define T_UCE (term_str(KS_UCE)) /* exit undercurl mode */
d85089194104 updated for version 7.0060
vimboss
parents: 36
diff changeset
131 #define T_UCS (term_str(KS_UCS)) /* undercurl mode */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 #define T_MS (term_str(KS_MS)) /* save to move cur in reverse mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 #define T_CM (term_str(KS_CM)) /* cursor motion */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 #define T_SR (term_str(KS_SR)) /* scroll reverse (backward) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 #define T_CRI (term_str(KS_CRI)) /* cursor number of chars right */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 #define T_VB (term_str(KS_VB)) /* visual bell */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137 #define T_KS (term_str(KS_KS)) /* put term in "keypad transmit" mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 #define T_KE (term_str(KS_KE)) /* out of "keypad transmit" mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
139 #define T_TI (term_str(KS_TI)) /* put terminal in termcap mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 #define T_TE (term_str(KS_TE)) /* out of termcap mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141 #define T_BC (term_str(KS_BC)) /* backspace character */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 #define T_CCS (term_str(KS_CCS)) /* cur is relative to scroll region */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 #define T_CCO (term_str(KS_CCO)) /* number of colors */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 #define T_CSF (term_str(KS_CSF)) /* set foreground color */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145 #define T_CSB (term_str(KS_CSB)) /* set background color */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 #define T_XS (term_str(KS_XS)) /* standout not erased by overwriting */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147 #define T_MB (term_str(KS_MB)) /* blink mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
148 #define T_CAF (term_str(KS_CAF)) /* set foreground color (ANSI) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149 #define T_CAB (term_str(KS_CAB)) /* set background color (ANSI) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 #define T_LE (term_str(KS_LE)) /* cursor left */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 #define T_ND (term_str(KS_ND)) /* cursor right */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 #define T_CIS (term_str(KS_CIS)) /* set icon text start */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 #define T_CIE (term_str(KS_CIE)) /* set icon text end */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 #define T_TS (term_str(KS_TS)) /* set window title start */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 #define T_FS (term_str(KS_FS)) /* set window title end */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156 #define T_CWP (term_str(KS_CWP)) /* window position */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
157 #define T_CWS (term_str(KS_CWS)) /* window size */
36
125e80798a85 updated for version 7.0021
vimboss
parents: 7
diff changeset
158 #define T_CSI (term_str(KS_CSI)) /* start insert mode */
125e80798a85 updated for version 7.0021
vimboss
parents: 7
diff changeset
159 #define T_CEI (term_str(KS_CEI)) /* end insert mode */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160 #define T_CRV (term_str(KS_CRV)) /* request version string */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 #define T_OP (term_str(KS_OP)) /* original color pair */
4215
ecf21be84def updated for version 7.3.859
Bram Moolenaar <bram@vim.org>
parents: 1879
diff changeset
162 #define T_U7 (term_str(KS_U7)) /* request cursor position */
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
164 #define TMODE_COOK 0 /* terminal mode for external cmds and Ex mode */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 #define TMODE_SLEEP 1 /* terminal mode for sleeping (cooked but no echo) */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 #define TMODE_RAW 2 /* terminal mode for Normal and Insert mode */