blob: 3064cefb72a1c67aaf46443e9277e02b95e2afd6 [file] [log] [blame]
/* vi:set ts=8 sts=4 sw=4 noet:
*
* VIM - Vi IMproved by Bram Moolenaar
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
*/
/*
* This file contains the defines for the machine dependent escape sequences
* that the editor needs to perform various operations. All of the sequences
* here are optional, except "cm" (cursor motion).
*/
#if defined(SASC) && SASC < 658
/*
* The SAS C compiler has a bug that makes typedefs being forgot in include
* files. Has been fixed in version 6.58.
*/
typedef unsigned char char_u;
#endif
/*
* Index of the termcap codes in the term_strings array.
*/
enum SpecialKey
{
KS_NAME = 0,/* name of this terminal entry */
KS_CE, /* clear to end of line */
KS_AL, /* add new blank line */
KS_CAL, /* add number of blank lines */
KS_DL, /* delete line */
KS_CDL, /* delete number of lines */
KS_CS, /* scroll region */
KS_CL, /* clear screen */
KS_CD, /* clear to end of display */
KS_UT, /* clearing uses current background color */
KS_DA, /* text may be scrolled down from up */
KS_DB, /* text may be scrolled up from down */
KS_VI, /* cursor invisible */
KS_VE, /* cursor visible */
KS_VS, /* cursor very visible */
KS_ME, /* normal mode */
KS_MR, /* reverse mode */
KS_MD, /* bold mode */
KS_SE, /* normal mode */
KS_SO, /* standout mode */
KS_CZH, /* italic mode start */
KS_CZR, /* italic mode end */
KS_UE, /* exit underscore (underline) mode */
KS_US, /* underscore (underline) mode */
KS_UCE, /* exit undercurl mode */
KS_UCS, /* undercurl mode */
KS_MS, /* save to move cur in reverse mode */
KS_CM, /* cursor motion */
KS_SR, /* scroll reverse (backward) */
KS_CRI, /* cursor number of chars right */
KS_VB, /* visual bell */
KS_KS, /* put term in "keypad transmit" mode */
KS_KE, /* out of "keypad transmit" mode */
KS_TI, /* put terminal in termcap mode */
KS_TE, /* out of termcap mode */
KS_BC, /* backspace character (cursor left) */
KS_CCS, /* cur is relative to scroll region */
KS_CCO, /* number of colors */
KS_CSF, /* set foreground color */
KS_CSB, /* set background color */
KS_XS, /* standout not erased by overwriting (hpterm) */
KS_XN, /* newline glitch */
KS_MB, /* blink mode */
KS_CAF, /* set foreground color (ANSI) */
KS_CAB, /* set background color (ANSI) */
KS_LE, /* cursor left (mostly backspace) */
KS_ND, /* cursor right */
KS_CIS, /* set icon text start */
KS_CIE, /* set icon text end */
KS_TS, /* set window title start (to status line)*/
KS_FS, /* set window title end (from status line) */
KS_CWP, /* set window position in pixels */
KS_CWS, /* set window size in characters */
KS_CRV, /* request version string */
KS_RBG, /* request background color */
KS_CSI, /* start insert mode (bar cursor) */
KS_CEI, /* end insert mode (block cursor) */
KS_CSR, /* start replace mode (underline cursor) */
#ifdef FEAT_WINDOWS
KS_CSV, /* scroll region vertical */
#endif
KS_OP, /* original color pair */
KS_U7, /* request cursor position */
KS_8F, /* set foreground color (RGB) */
KS_8B /* set background color (RGB) */
};
#define KS_LAST KS_8B
/*
* the terminal capabilities are stored in this array
* IMPORTANT: When making changes, note the following:
* - there should be an entry for each code in the builtin termcaps
* - there should be an option for each code in option.c
* - there should be code in term.c to obtain the value from the termcap
*/
extern char_u *(term_strings[]); /* current terminal strings */
/*
* strings used for terminal
*/
#define T_NAME (term_str(KS_NAME)) /* terminal name */
#define T_CE (term_str(KS_CE)) /* clear to end of line */
#define T_AL (term_str(KS_AL)) /* add new blank line */
#define T_CAL (term_str(KS_CAL)) /* add number of blank lines */
#define T_DL (term_str(KS_DL)) /* delete line */
#define T_CDL (term_str(KS_CDL)) /* delete number of lines */
#define T_CS (term_str(KS_CS)) /* scroll region */
#define T_CSV (term_str(KS_CSV)) /* scroll region vertical */
#define T_CL (term_str(KS_CL)) /* clear screen */
#define T_CD (term_str(KS_CD)) /* clear to end of display */
#define T_UT (term_str(KS_UT)) /* clearing uses background color */
#define T_DA (term_str(KS_DA)) /* text may be scrolled down from up */
#define T_DB (term_str(KS_DB)) /* text may be scrolled up from down */
#define T_VI (term_str(KS_VI)) /* cursor invisible */
#define T_VE (term_str(KS_VE)) /* cursor visible */
#define T_VS (term_str(KS_VS)) /* cursor very visible */
#define T_ME (term_str(KS_ME)) /* normal mode */
#define T_MR (term_str(KS_MR)) /* reverse mode */
#define T_MD (term_str(KS_MD)) /* bold mode */
#define T_SE (term_str(KS_SE)) /* normal mode */
#define T_SO (term_str(KS_SO)) /* standout mode */
#define T_CZH (term_str(KS_CZH)) /* italic mode start */
#define T_CZR (term_str(KS_CZR)) /* italic mode end */
#define T_UE (term_str(KS_UE)) /* exit underscore (underline) mode */
#define T_US (term_str(KS_US)) /* underscore (underline) mode */
#define T_UCE (term_str(KS_UCE)) /* exit undercurl mode */
#define T_UCS (term_str(KS_UCS)) /* undercurl mode */
#define T_MS (term_str(KS_MS)) /* save to move cur in reverse mode */
#define T_CM (term_str(KS_CM)) /* cursor motion */
#define T_SR (term_str(KS_SR)) /* scroll reverse (backward) */
#define T_CRI (term_str(KS_CRI)) /* cursor number of chars right */
#define T_VB (term_str(KS_VB)) /* visual bell */
#define T_KS (term_str(KS_KS)) /* put term in "keypad transmit" mode */
#define T_KE (term_str(KS_KE)) /* out of "keypad transmit" mode */
#define T_TI (term_str(KS_TI)) /* put terminal in termcap mode */
#define T_TE (term_str(KS_TE)) /* out of termcap mode */
#define T_BC (term_str(KS_BC)) /* backspace character */
#define T_CCS (term_str(KS_CCS)) /* cur is relative to scroll region */
#define T_CCO (term_str(KS_CCO)) /* number of colors */
#define T_CSF (term_str(KS_CSF)) /* set foreground color */
#define T_CSB (term_str(KS_CSB)) /* set background color */
#define T_XS (term_str(KS_XS)) /* standout not erased by overwriting */
#define T_XN (term_str(KS_XN)) /* newline glitch */
#define T_MB (term_str(KS_MB)) /* blink mode */
#define T_CAF (term_str(KS_CAF)) /* set foreground color (ANSI) */
#define T_CAB (term_str(KS_CAB)) /* set background color (ANSI) */
#define T_LE (term_str(KS_LE)) /* cursor left */
#define T_ND (term_str(KS_ND)) /* cursor right */
#define T_CIS (term_str(KS_CIS)) /* set icon text start */
#define T_CIE (term_str(KS_CIE)) /* set icon text end */
#define T_TS (term_str(KS_TS)) /* set window title start */
#define T_FS (term_str(KS_FS)) /* set window title end */
#define T_CWP (term_str(KS_CWP)) /* window position */
#define T_CWS (term_str(KS_CWS)) /* window size */
#define T_CSI (term_str(KS_CSI)) /* start insert mode */
#define T_CEI (term_str(KS_CEI)) /* end insert mode */
#define T_CSR (term_str(KS_CSR)) /* start replace mode */
#define T_CRV (term_str(KS_CRV)) /* request version string */
#define T_RBG (term_str(KS_RBG)) /* request background RGB */
#define T_OP (term_str(KS_OP)) /* original color pair */
#define T_U7 (term_str(KS_U7)) /* request cursor position */
#define T_8F (term_str(KS_8F)) /* set foreground color (RGB) */
#define T_8B (term_str(KS_8B)) /* set background color (RGB) */
#define TMODE_COOK 0 /* terminal mode for external cmds and Ex mode */
#define TMODE_SLEEP 1 /* terminal mode for sleeping (cooked but no echo) */
#define TMODE_RAW 2 /* terminal mode for Normal and Insert mode */