annotate src/termdefs.h @ 34136:36843e079f64 v9.1.0030

patch 9.1.0030: Cannot use terminal alternate font Commit: https://github.com/vim/vim/commit/a606f3ac036e5f3dc313f620e6b4bc00812314f9 Author: PMunch <peterme@peterme.net> Date: Wed Nov 15 15:35:49 2023 +0100 patch 9.1.0030: Cannot use terminal alternate font Problem: Cannot use terminal alternate fonts (PMunch) Solution: Support terminal alternate fonts using CSI SGR 10-20 and t_CF code (PMunch) Add support for alternate font highlighting This adds support for alternate font highlighting using CSI SGR 10-20. Few terminals currently support this, but with added tool support this should improve over time. The change here is more or less taken from how colors are configured and applied, but there might be some parts I missed while implementing it. Changing fonts is done through the new `:hi ctermfont` attribute which takes a number, 0 is the normal font, and the numbers 1-9 select an "alternative" font. Which fonts are in use is up to the terminal. fixes: #13513 closes: #13537 Signed-off-by: PMunch <peterme@peterme.net> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Mon, 15 Jan 2024 22:30:03 +0100
parents 533e36e02a68
children 286bee19bc96
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
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 /*
32244
533e36e02a68 patch 9.0.1453: typos in source code and tests
Bram Moolenaar <Bram@vim.org>
parents: 31672
diff changeset
17 * The SAS C compiler has a bug that makes typedefs being forgotten
533e36e02a68 patch 9.0.1453: typos in source code and tests
Bram Moolenaar <Bram@vim.org>
parents: 31672
diff changeset
18 * in include files. Has been fixed in version 6.58.
7
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 {
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
28 KS_NAME = 0,// name of this terminal entry
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
29 KS_CE, // clear to end of line
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
30 KS_AL, // add new blank line
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
31 KS_CAL, // add number of blank lines
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
32 KS_DL, // delete line
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
33 KS_CDL, // delete number of lines
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
34 KS_CS, // scroll region
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
35 KS_CL, // clear screen
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
36 KS_CD, // clear to end of display
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
37 KS_UT, // clearing uses current background color
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
38 KS_DA, // text may be scrolled down from up
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
39 KS_DB, // text may be scrolled up from down
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
40 KS_VI, // cursor invisible
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
41 KS_VE, // cursor visible
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
42 KS_VS, // cursor very visible (blink)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
43 KS_CVS, // cursor normally visible (no blink)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
44 KS_CSH, // cursor shape
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
45 KS_CRC, // request cursor blinking
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
46 KS_CRS, // request cursor style
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
47 KS_ME, // normal mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
48 KS_MR, // reverse mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
49 KS_MD, // bold mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
50 KS_SE, // normal mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
51 KS_SO, // standout mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
52 KS_CZH, // italic mode start
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
53 KS_CZR, // italic mode end
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
54 KS_UE, // exit underscore (underline) mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
55 KS_US, // underscore (underline) mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
56 KS_UCE, // exit undercurl mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
57 KS_UCS, // undercurl mode
29328
60977de70684 patch 9.0.0007: no support for double, dotted and dashed underlines
Bram Moolenaar <Bram@vim.org>
parents: 26177
diff changeset
58 KS_USS, // double underline mode
60977de70684 patch 9.0.0007: no support for double, dotted and dashed underlines
Bram Moolenaar <Bram@vim.org>
parents: 26177
diff changeset
59 KS_DS, // dotted underline mode
60977de70684 patch 9.0.0007: no support for double, dotted and dashed underlines
Bram Moolenaar <Bram@vim.org>
parents: 26177
diff changeset
60 KS_CDS, // dashed underline mode
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
61 KS_STE, // exit strikethrough mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
62 KS_STS, // strikethrough mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
63 KS_MS, // save to move cur in reverse mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
64 KS_CM, // cursor motion
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
65 KS_SR, // scroll reverse (backward)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
66 KS_CRI, // cursor number of chars right
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
67 KS_VB, // visual bell
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
68 KS_KS, // put term in "keypad transmit" mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
69 KS_KE, // out of "keypad transmit" mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
70 KS_TI, // put terminal in termcap mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
71 KS_CTI, // put terminal in "raw" mode
31293
ff4473b3fc58 patch 9.0.0980: the keyboard state response may end up in a shell command
Bram Moolenaar <Bram@vim.org>
parents: 29328
diff changeset
72 KS_CRK, // request keyboard protocol state
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
73 KS_TE, // end of termcap mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
74 KS_CTE, // end of "raw" mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
75 KS_BC, // backspace character (cursor left)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
76 KS_CCS, // cur is relative to scroll region
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
77 KS_CCO, // number of colors
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
78 KS_CSF, // set foreground color
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
79 KS_CSB, // set background color
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
80 KS_XS, // standout not erased by overwriting (hpterm)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
81 KS_XN, // newline glitch
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
82 KS_MB, // blink mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
83 KS_CAF, // set foreground color (ANSI)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
84 KS_CAB, // set background color (ANSI)
20619
68c206d3a251 patch 8.2.0863: cannot set a separate color for underline/undercurl
Bram Moolenaar <Bram@vim.org>
parents: 20439
diff changeset
85 KS_CAU, // set underline color (ANSI)
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
86 KS_LE, // cursor left (mostly backspace)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
87 KS_ND, // cursor right
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
88 KS_CIS, // set icon text start
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
89 KS_CIE, // set icon text end
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
90 KS_CSC, // set cursor color start
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
91 KS_CEC, // set cursor color end
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
92 KS_TS, // set window title start (to status line)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
93 KS_FS, // set window title end (from status line)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
94 KS_CWP, // set window position in pixels
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
95 KS_CGP, // get window position
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
96 KS_CWS, // set window size in characters
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
97 KS_CRV, // request version string
31672
9dc48932db8e patch 9.0.1168: code to enable/disable mouse is not from terminfo/termcap
Bram Moolenaar <Bram@vim.org>
parents: 31569
diff changeset
98 KS_CXM, // enable/disable mouse reporting
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
99 KS_RFG, // request foreground color
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
100 KS_RBG, // request background color
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
101 KS_CSI, // start insert mode (bar cursor)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
102 KS_CEI, // end insert mode (block cursor)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
103 KS_CSR, // start replace mode (underline cursor)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
104 KS_CSV, // scroll region vertical
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
105 KS_OP, // original color pair
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
106 KS_U7, // request cursor position
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
107 KS_8F, // set foreground color (RGB)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
108 KS_8B, // set background color (RGB)
20619
68c206d3a251 patch 8.2.0863: cannot set a separate color for underline/undercurl
Bram Moolenaar <Bram@vim.org>
parents: 20439
diff changeset
109 KS_8U, // set underline color (RGB)
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
110 KS_CBE, // enable bracketed paste mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
111 KS_CBD, // disable bracketed paste mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
112 KS_CST, // save window title
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
113 KS_CRT, // restore window title
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
114 KS_SSI, // save icon text
23606
f98939164e91 patch 8.2.2345: no focus events in a terminal
Bram Moolenaar <Bram@vim.org>
parents: 20619
diff changeset
115 KS_SRI, // restore icon text
f98939164e91 patch 8.2.2345: no focus events in a terminal
Bram Moolenaar <Bram@vim.org>
parents: 20619
diff changeset
116 KS_FD, // disable focus event tracking
34136
36843e079f64 patch 9.1.0030: Cannot use terminal alternate font
Christian Brabandt <cb@256bit.org>
parents: 32244
diff changeset
117 KS_FE, // enable focus event tracking
36843e079f64 patch 9.1.0030: Cannot use terminal alternate font
Christian Brabandt <cb@256bit.org>
parents: 32244
diff changeset
118 KS_CF // set terminal alternate font
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119 };
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
120
34136
36843e079f64 patch 9.1.0030: Cannot use terminal alternate font
Christian Brabandt <cb@256bit.org>
parents: 32244
diff changeset
121 #define KS_LAST KS_CF
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
122
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 * the terminal capabilities are stored in this array
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 * IMPORTANT: When making changes, note the following:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 * - there should be an entry for each code in the builtin termcaps
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 * - there should be an option for each code in option.c
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 * - there should be code in term.c to obtain the value from the termcap
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 */
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
131 extern char_u *(term_strings[]); // current terminal strings
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 /*
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 * strings used for terminal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135 */
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
136 #define T_NAME (TERM_STR(KS_NAME)) // terminal name
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
137 #define T_CE (TERM_STR(KS_CE)) // clear to end of line
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
138 #define T_AL (TERM_STR(KS_AL)) // add new blank line
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
139 #define T_CAL (TERM_STR(KS_CAL)) // add number of blank lines
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
140 #define T_DL (TERM_STR(KS_DL)) // delete line
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
141 #define T_CDL (TERM_STR(KS_CDL)) // delete number of lines
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
142 #define T_CS (TERM_STR(KS_CS)) // scroll region
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
143 #define T_CSV (TERM_STR(KS_CSV)) // scroll region vertical
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
144 #define T_CL (TERM_STR(KS_CL)) // clear screen
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
145 #define T_CD (TERM_STR(KS_CD)) // clear to end of display
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
146 #define T_UT (TERM_STR(KS_UT)) // clearing uses background color
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
147 #define T_DA (TERM_STR(KS_DA)) // text may be scrolled down from up
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
148 #define T_DB (TERM_STR(KS_DB)) // text may be scrolled up from down
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
149 #define T_VI (TERM_STR(KS_VI)) // cursor invisible
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
150 #define T_VE (TERM_STR(KS_VE)) // cursor visible
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
151 #define T_VS (TERM_STR(KS_VS)) // cursor very visible (blink)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
152 #define T_CVS (TERM_STR(KS_CVS)) // cursor normally visible (no blink)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
153 #define T_CSH (TERM_STR(KS_CSH)) // cursor shape
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
154 #define T_CRC (TERM_STR(KS_CRC)) // request cursor blinking
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
155 #define T_CRS (TERM_STR(KS_CRS)) // request cursor style
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
156 #define T_ME (TERM_STR(KS_ME)) // normal mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
157 #define T_MR (TERM_STR(KS_MR)) // reverse mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
158 #define T_MD (TERM_STR(KS_MD)) // bold mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
159 #define T_SE (TERM_STR(KS_SE)) // normal mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
160 #define T_SO (TERM_STR(KS_SO)) // standout mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
161 #define T_CZH (TERM_STR(KS_CZH)) // italic mode start
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
162 #define T_CZR (TERM_STR(KS_CZR)) // italic mode end
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
163 #define T_UE (TERM_STR(KS_UE)) // exit underscore (underline) mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
164 #define T_US (TERM_STR(KS_US)) // underscore (underline) mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
165 #define T_UCE (TERM_STR(KS_UCE)) // exit undercurl mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
166 #define T_UCS (TERM_STR(KS_UCS)) // undercurl mode
29328
60977de70684 patch 9.0.0007: no support for double, dotted and dashed underlines
Bram Moolenaar <Bram@vim.org>
parents: 26177
diff changeset
167 #define T_USS (TERM_STR(KS_USS)) // double underline mode
60977de70684 patch 9.0.0007: no support for double, dotted and dashed underlines
Bram Moolenaar <Bram@vim.org>
parents: 26177
diff changeset
168 #define T_DS (TERM_STR(KS_DS)) // dotted underline mode
60977de70684 patch 9.0.0007: no support for double, dotted and dashed underlines
Bram Moolenaar <Bram@vim.org>
parents: 26177
diff changeset
169 #define T_CDS (TERM_STR(KS_CDS)) // dashed underline mode
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
170 #define T_STE (TERM_STR(KS_STE)) // exit strikethrough mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
171 #define T_STS (TERM_STR(KS_STS)) // strikethrough mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
172 #define T_MS (TERM_STR(KS_MS)) // save to move cur in reverse mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
173 #define T_CM (TERM_STR(KS_CM)) // cursor motion
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
174 #define T_SR (TERM_STR(KS_SR)) // scroll reverse (backward)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
175 #define T_CRI (TERM_STR(KS_CRI)) // cursor number of chars right
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
176 #define T_VB (TERM_STR(KS_VB)) // visual bell
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
177 #define T_KS (TERM_STR(KS_KS)) // put term in "keypad transmit" mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
178 #define T_KE (TERM_STR(KS_KE)) // out of "keypad transmit" mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
179 #define T_TI (TERM_STR(KS_TI)) // put terminal in termcap mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
180 #define T_CTI (TERM_STR(KS_CTI)) // put terminal in "raw" mode
31293
ff4473b3fc58 patch 9.0.0980: the keyboard state response may end up in a shell command
Bram Moolenaar <Bram@vim.org>
parents: 29328
diff changeset
181 #define T_CRK (TERM_STR(KS_CRK)) // request keyboard protocol status
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
182 #define T_TE (TERM_STR(KS_TE)) // end of termcap mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
183 #define T_CTE (TERM_STR(KS_CTE)) // end of "raw" mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
184 #define T_BC (TERM_STR(KS_BC)) // backspace character
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
185 #define T_CCS (TERM_STR(KS_CCS)) // cur is relative to scroll region
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
186 #define T_CCO (TERM_STR(KS_CCO)) // number of colors
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
187 #define T_CSF (TERM_STR(KS_CSF)) // set foreground color
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
188 #define T_CSB (TERM_STR(KS_CSB)) // set background color
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
189 #define T_XS (TERM_STR(KS_XS)) // standout not erased by overwriting
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
190 #define T_XN (TERM_STR(KS_XN)) // newline glitch
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
191 #define T_MB (TERM_STR(KS_MB)) // blink mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
192 #define T_CAF (TERM_STR(KS_CAF)) // set foreground color (ANSI)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
193 #define T_CAB (TERM_STR(KS_CAB)) // set background color (ANSI)
20619
68c206d3a251 patch 8.2.0863: cannot set a separate color for underline/undercurl
Bram Moolenaar <Bram@vim.org>
parents: 20439
diff changeset
194 #define T_CAU (TERM_STR(KS_CAU)) // set underline color (ANSI)
34136
36843e079f64 patch 9.1.0030: Cannot use terminal alternate font
Christian Brabandt <cb@256bit.org>
parents: 32244
diff changeset
195 #define T_CFO (TERM_STR(KS_CF)) // set alternate font
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
196 #define T_LE (TERM_STR(KS_LE)) // cursor left
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
197 #define T_ND (TERM_STR(KS_ND)) // cursor right
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
198 #define T_CIS (TERM_STR(KS_CIS)) // set icon text start
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
199 #define T_CIE (TERM_STR(KS_CIE)) // set icon text end
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
200 #define T_TS (TERM_STR(KS_TS)) // set window title start
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
201 #define T_FS (TERM_STR(KS_FS)) // set window title end
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
202 #define T_CSC (TERM_STR(KS_CSC)) // set cursor color start
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
203 #define T_CEC (TERM_STR(KS_CEC)) // set cursor color end
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
204 #define T_CWP (TERM_STR(KS_CWP)) // set window position
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
205 #define T_CGP (TERM_STR(KS_CGP)) // get window position
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
206 #define T_CWS (TERM_STR(KS_CWS)) // window size
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
207 #define T_CSI (TERM_STR(KS_CSI)) // start insert mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
208 #define T_CEI (TERM_STR(KS_CEI)) // end insert mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
209 #define T_CSR (TERM_STR(KS_CSR)) // start replace mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
210 #define T_CRV (TERM_STR(KS_CRV)) // request version string
31672
9dc48932db8e patch 9.0.1168: code to enable/disable mouse is not from terminfo/termcap
Bram Moolenaar <Bram@vim.org>
parents: 31569
diff changeset
211 #define T_CXM (TERM_STR(KS_CXM)) // enable/disable mouse reporting
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
212 #define T_RFG (TERM_STR(KS_RFG)) // request foreground RGB
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
213 #define T_RBG (TERM_STR(KS_RBG)) // request background RGB
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
214 #define T_OP (TERM_STR(KS_OP)) // original color pair
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
215 #define T_U7 (TERM_STR(KS_U7)) // request cursor position
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
216 #define T_8F (TERM_STR(KS_8F)) // set foreground color (RGB)
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
217 #define T_8B (TERM_STR(KS_8B)) // set background color (RGB)
20619
68c206d3a251 patch 8.2.0863: cannot set a separate color for underline/undercurl
Bram Moolenaar <Bram@vim.org>
parents: 20439
diff changeset
218 #define T_8U (TERM_STR(KS_8U)) // set underline color (RGB)
18753
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
219 #define T_BE (TERM_STR(KS_CBE)) // enable bracketed paste mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
220 #define T_BD (TERM_STR(KS_CBD)) // disable bracketed paste mode
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
221 #define T_CST (TERM_STR(KS_CST)) // save window title
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
222 #define T_CRT (TERM_STR(KS_CRT)) // restore window title
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
223 #define T_SSI (TERM_STR(KS_SSI)) // save icon text
6e3dc2d630c2 patch 8.1.2366: using old C style comments
Bram Moolenaar <Bram@vim.org>
parents: 18299
diff changeset
224 #define T_SRI (TERM_STR(KS_SRI)) // restore icon text
23606
f98939164e91 patch 8.2.2345: no focus events in a terminal
Bram Moolenaar <Bram@vim.org>
parents: 20619
diff changeset
225 #define T_FD (TERM_STR(KS_FD)) // disable focus event tracking
f98939164e91 patch 8.2.2345: no focus events in a terminal
Bram Moolenaar <Bram@vim.org>
parents: 20619
diff changeset
226 #define T_FE (TERM_STR(KS_FE)) // enable focus event tracking
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227
20439
d4b2a8675b78 patch 8.2.0774: t_TI and t_TE are output when using 'visualbell'
Bram Moolenaar <Bram@vim.org>
parents: 20437
diff changeset
228 typedef enum {
d4b2a8675b78 patch 8.2.0774: t_TI and t_TE are output when using 'visualbell'
Bram Moolenaar <Bram@vim.org>
parents: 20437
diff changeset
229 TMODE_COOK, // terminal mode for external cmds and Ex mode
d4b2a8675b78 patch 8.2.0774: t_TI and t_TE are output when using 'visualbell'
Bram Moolenaar <Bram@vim.org>
parents: 20437
diff changeset
230 TMODE_SLEEP, // terminal mode for sleeping (cooked but no echo)
d4b2a8675b78 patch 8.2.0774: t_TI and t_TE are output when using 'visualbell'
Bram Moolenaar <Bram@vim.org>
parents: 20437
diff changeset
231 TMODE_RAW, // terminal mode for Normal and Insert mode
d4b2a8675b78 patch 8.2.0774: t_TI and t_TE are output when using 'visualbell'
Bram Moolenaar <Bram@vim.org>
parents: 20437
diff changeset
232 TMODE_UNKNOWN // after executing a shell
d4b2a8675b78 patch 8.2.0774: t_TI and t_TE are output when using 'visualbell'
Bram Moolenaar <Bram@vim.org>
parents: 20437
diff changeset
233 } tmode_T;