Annotation of src/usr.bin/vim/term.h, Revision 1.1
1.1 ! downsj 1: /* $OpenBSD$ */
! 2: /* vi:set ts=4 sw=4:
! 3: *
! 4: * VIM - Vi IMproved by Bram Moolenaar
! 5: *
! 6: * Do ":help uganda" in Vim to read copying and usage conditions.
! 7: * Do ":help credits" in Vim to see a list of people who contributed.
! 8: */
! 9:
! 10: /*
! 11: * This file contains the machine dependent escape sequences that the editor
! 12: * needs to perform various operations. Some of the sequences here are
! 13: * optional. Anything not available should be indicated by a null string. In
! 14: * the case of insert/delete line sequences, the editor checks the capability
! 15: * and works around the deficiency, if necessary.
! 16: */
! 17:
! 18: #ifdef SASC
! 19: /*
! 20: * the SAS C compiler has a bug that makes typedefs being forgot sometimes
! 21: */
! 22: typedef unsigned char char_u;
! 23: #endif
! 24:
! 25: /*
! 26: * Index of the termcap codes in the term_strings array.
! 27: */
! 28: enum SpecialKeys
! 29: {
! 30: KS_NAME = 0, /* name of this terminal entry */
! 31: KS_CE, /* clear to end of line */
! 32: KS_AL, /* add new blank line */
! 33: KS_CAL, /* add number of blank lines */
! 34: KS_DL, /* delete line */
! 35: KS_CDL, /* delete number of lines */
! 36: KS_CS, /* scroll region */
! 37: KS_CL, /* clear screen */
! 38: KS_CD, /* clear to end of display */
! 39: KS_DA, /* text may be scrolled down from up */
! 40: KS_DB, /* text may be scrolled up from down */
! 41: KS_VI, /* cursor invisible */
! 42: KS_VE, /* cursor visible */
! 43: KS_VS, /* cursor very visible */
! 44: KS_ME, /* normal mode */
! 45: KS_MR, /* reverse mode */
! 46: KS_MD, /* bold mode */
! 47: KS_SE, /* normal mode */
! 48: KS_SO, /* standout mode */
! 49: KS_CZH, /* italic mode start */
! 50: KS_CZR, /* italic mode end */
! 51: KS_UE, /* exit underscore mode */
! 52: KS_US, /* underscore mode */
! 53: KS_MS, /* save to move cur in reverse mode */
! 54: KS_CM, /* cursor motion */
! 55: KS_SR, /* scroll reverse (backward) */
! 56: KS_CRI, /* cursor number of chars right */
! 57: KS_VB, /* visual bell */
! 58: KS_KS, /* put term in "keypad transmit" mode */
! 59: KS_KE, /* out of "keypad transmit" mode */
! 60: KS_TI, /* put terminal in termcap mode */
! 61: KS_TE, /* out of termcap mode */
! 62:
! 63: KS_CSC /* cur is relative to scroll region */
! 64: };
! 65:
! 66: #define KS_LAST KS_CSC
! 67:
! 68: /*
! 69: * the terminal capabilities are stored in this array
! 70: * IMPORTANT: When making changes, note the following:
! 71: * - there should be an entry for each code in the builtin termcaps
! 72: * - there should be an option for each code in option.c
! 73: * - there should be code in term.c to obtain the value from the termcap
! 74: */
! 75:
! 76: extern char_u *(term_strings[]); /* current terminal strings */
! 77:
! 78: /*
! 79: * strings used for terminal
! 80: */
! 81: #define T_CE (term_strings[KS_CE]) /* clear to end of line */
! 82: #define T_AL (term_strings[KS_AL]) /* add new blank line */
! 83: #define T_CAL (term_strings[KS_CAL]) /* add number of blank lines */
! 84: #define T_DL (term_strings[KS_DL]) /* delete line */
! 85: #define T_CDL (term_strings[KS_CDL]) /* delete number of lines */
! 86: #define T_CS (term_strings[KS_CS]) /* scroll region */
! 87: #define T_CL (term_strings[KS_CL]) /* clear screen */
! 88: #define T_CD (term_strings[KS_CD]) /* clear to end of display */
! 89: #define T_DA (term_strings[KS_DA]) /* text may be scrolled down from up */
! 90: #define T_DB (term_strings[KS_DB]) /* text may be scrolled up from down */
! 91: #define T_VI (term_strings[KS_VI]) /* cursor invisible */
! 92: #define T_VE (term_strings[KS_VE]) /* cursor visible */
! 93: #define T_VS (term_strings[KS_VS]) /* cursor very visible */
! 94: #define T_ME (term_strings[KS_ME]) /* normal mode */
! 95: #define T_MR (term_strings[KS_MR]) /* reverse mode */
! 96: #define T_MD (term_strings[KS_MD]) /* bold mode */
! 97: #define T_SE (term_strings[KS_SE]) /* normal mode */
! 98: #define T_SO (term_strings[KS_SO]) /* standout mode */
! 99: #define T_CZH (term_strings[KS_CZH]) /* italic mode start */
! 100: #define T_CZR (term_strings[KS_CZR]) /* italic mode end */
! 101: #define T_UE (term_strings[KS_UE]) /* exit underscore mode */
! 102: #define T_US (term_strings[KS_US]) /* underscore mode */
! 103: #define T_MS (term_strings[KS_MS]) /* save to move cur in reverse mode */
! 104: #define T_CM (term_strings[KS_CM]) /* cursor motion */
! 105: #define T_SR (term_strings[KS_SR]) /* scroll reverse (backward) */
! 106: #define T_CRI (term_strings[KS_CRI]) /* cursor number of chars right */
! 107: #define T_VB (term_strings[KS_VB]) /* visual bell */
! 108: #define T_KS (term_strings[KS_KS]) /* put term in "keypad transmit" mode */
! 109: #define T_KE (term_strings[KS_KE]) /* out of "keypad transmit" mode */
! 110: #define T_TI (term_strings[KS_TI]) /* put terminal in termcap mode */
! 111: #define T_TE (term_strings[KS_TE]) /* out of termcap mode */
! 112: #define T_CSC (term_strings[KS_CSC]) /* cur is relative to scroll region */