diff src/term.h @ 7:3fc0f57ecb91 v7.0001

updated for version 7.0001
author vimboss
date Sun, 13 Jun 2004 20:20:40 +0000
parents
children 125e80798a85
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/src/term.h
@@ -0,0 +1,156 @@
+/* vi:set ts=8 sts=4 sw=4:
+ *
+ * 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 mode */
+    KS_US,	/* underscore 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_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 */
+#ifdef FEAT_VERTSPLIT
+    KS_CSV,	/* scroll region vertical */
+#endif
+    KS_OP	/* original color pair */
+};
+
+#define KS_LAST	    KS_OP
+
+/*
+ * 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 mode */
+#define T_US	(term_str(KS_US))	/* underscore 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_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_CRV	(term_str(KS_CRV))	/* request version string */
+#define T_OP	(term_str(KS_OP))	/* original color pair */
+
+#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 */