term.h
上传用户:gddssl
上传日期:2007-01-06
资源大小:1003k
文件大小:6k
源码类别:

编辑器/阅读器

开发平台:

DOS

  1. /* vi:set ts=8 sts=4 sw=4:
  2.  *
  3.  * VIM - Vi IMproved by Bram Moolenaar
  4.  *
  5.  * Do ":help uganda"  in Vim to read copying and usage conditions.
  6.  * Do ":help credits" in Vim to see a list of people who contributed.
  7.  */
  8. /*
  9.  * This file contains the machine dependent escape sequences that the editor
  10.  * needs to perform various operations. Some of the sequences here are
  11.  * optional. Anything not available should be indicated by a null string. In
  12.  * the case of insert/delete line sequences, the editor checks the capability
  13.  * and works around the deficiency, if necessary.
  14.  */
  15. #if defined(SASC) && SASC < 658
  16. /*
  17.  * The SAS C compiler has a bug that makes typedefs being forgot in include
  18.  * files.  Has been fixed in version 6.58.
  19.  */
  20. typedef unsigned char char_u;
  21. #endif
  22. /*
  23.  * Index of the termcap codes in the term_strings array.
  24.  */
  25. enum SpecialKey
  26. {
  27.     KS_NAME = 0,/* name of this terminal entry */
  28.     KS_CE, /* clear to end of line */
  29.     KS_AL, /* add new blank line */
  30.     KS_CAL, /* add number of blank lines */
  31.     KS_DL, /* delete line */
  32.     KS_CDL, /* delete number of lines */
  33.     KS_CS, /* scroll region */
  34.     KS_CL, /* clear screen */
  35.     KS_CD, /* clear to end of display */
  36.     KS_DA, /* text may be scrolled down from up */
  37.     KS_DB, /* text may be scrolled up from down */
  38.     KS_VI, /* cursor invisible */
  39.     KS_VE, /* cursor visible */
  40.     KS_VS, /* cursor very visible */
  41.     KS_ME, /* normal mode */
  42.     KS_MR, /* reverse mode */
  43.     KS_MD, /* bold mode */
  44.     KS_SE, /* normal mode */
  45.     KS_SO, /* standout mode */
  46.     KS_CZH, /* italic mode start */
  47.     KS_CZR, /* italic mode end */
  48.     KS_UE, /* exit underscore mode */
  49.     KS_US, /* underscore mode */
  50.     KS_MS, /* save to move cur in reverse mode */
  51.     KS_CM, /* cursor motion */
  52.     KS_SR, /* scroll reverse (backward) */
  53.     KS_CRI, /* cursor number of chars right */
  54.     KS_VB, /* visual bell */
  55.     KS_KS, /* put term in "keypad transmit" mode */
  56.     KS_KE, /* out of "keypad transmit" mode */
  57.     KS_TI, /* put terminal in termcap mode */
  58.     KS_TE, /* out of termcap mode */
  59.     KS_BC, /* backspace character (cursor left) */
  60.     KS_CCS, /* cur is relative to scroll region */
  61.     KS_CCO, /* number of colors */
  62.     KS_CSF, /* set foreground color */
  63.     KS_CSB, /* set background color */
  64.     KS_XS, /* standout not erased by overwriting (hpterm) */
  65.     KS_MB, /* blink mode */
  66.     KS_CAF, /* set foreground color (ANSI) */
  67.     KS_CAB, /* set background color (ANSI) */
  68.     KS_LE, /* cursor left (mostly backspace) */
  69.     KS_ND, /* cursor right */
  70.     KS_OP /* original color pair */
  71. };
  72. #define KS_LAST     KS_OP
  73. /*
  74.  * the terminal capabilities are stored in this array
  75.  * IMPORTANT: When making changes, note the following:
  76.  * - there should be an entry for each code in the builtin termcaps
  77.  * - there should be an option for each code in option.c
  78.  * - there should be code in term.c to obtain the value from the termcap
  79.  */
  80. extern char_u *(term_strings[]);    /* current terminal strings */
  81. /*
  82.  * strings used for terminal
  83.  */
  84. #define T_NAME (term_str(KS_NAME)) /* terminal name */
  85. #define T_CE (term_str(KS_CE)) /* clear to end of line */
  86. #define T_AL (term_str(KS_AL)) /* add new blank line */
  87. #define T_CAL (term_str(KS_CAL)) /* add number of blank lines */
  88. #define T_DL (term_str(KS_DL)) /* delete line */
  89. #define T_CDL (term_str(KS_CDL)) /* delete number of lines */
  90. #define T_CS (term_str(KS_CS)) /* scroll region */
  91. #define T_CL (term_str(KS_CL)) /* clear screen */
  92. #define T_CD (term_str(KS_CD)) /* clear to end of display */
  93. #define T_DA (term_str(KS_DA)) /* text may be scrolled down from up */
  94. #define T_DB (term_str(KS_DB)) /* text may be scrolled up from down */
  95. #define T_VI (term_str(KS_VI)) /* cursor invisible */
  96. #define T_VE (term_str(KS_VE)) /* cursor visible */
  97. #define T_VS (term_str(KS_VS)) /* cursor very visible */
  98. #define T_ME (term_str(KS_ME)) /* normal mode */
  99. #define T_MR (term_str(KS_MR)) /* reverse mode */
  100. #define T_MD (term_str(KS_MD)) /* bold mode */
  101. #define T_SE (term_str(KS_SE)) /* normal mode */
  102. #define T_SO (term_str(KS_SO)) /* standout mode */
  103. #define T_CZH (term_str(KS_CZH)) /* italic mode start */
  104. #define T_CZR (term_str(KS_CZR)) /* italic mode end */
  105. #define T_UE (term_str(KS_UE)) /* exit underscore mode */
  106. #define T_US (term_str(KS_US)) /* underscore mode */
  107. #define T_MS (term_str(KS_MS)) /* save to move cur in reverse mode */
  108. #define T_CM (term_str(KS_CM)) /* cursor motion */
  109. #define T_SR (term_str(KS_SR)) /* scroll reverse (backward) */
  110. #define T_CRI (term_str(KS_CRI)) /* cursor number of chars right */
  111. #define T_VB (term_str(KS_VB)) /* visual bell */
  112. #define T_KS (term_str(KS_KS)) /* put term in "keypad transmit" mode */
  113. #define T_KE (term_str(KS_KE)) /* out of "keypad transmit" mode */
  114. #define T_TI (term_str(KS_TI)) /* put terminal in termcap mode */
  115. #define T_TE (term_str(KS_TE)) /* out of termcap mode */
  116. #define T_BC (term_str(KS_BC)) /* backspace character */
  117. #define T_CCS (term_str(KS_CCS)) /* cur is relative to scroll region */
  118. #define T_CCO (term_str(KS_CCO)) /* number of colors */
  119. #define T_CSF (term_str(KS_CSF)) /* set foreground color */
  120. #define T_CSB (term_str(KS_CSB)) /* set background color */
  121. #define T_XS (term_str(KS_XS)) /* standout not erased by overwriting */
  122. #define T_MB (term_str(KS_MB)) /* blink mode */
  123. #define T_CAF (term_str(KS_CAF)) /* set foreground color (ANSI) */
  124. #define T_CAB (term_str(KS_CAB)) /* set background color (ANSI) */
  125. #define T_LE (term_str(KS_LE)) /* cursor left */
  126. #define T_ND (term_str(KS_ND)) /* cursor right */
  127. #define T_OP (term_str(KS_OP)) /* original color pair */
  128. #define TMODE_COOK  0     /* terminal mode for external cmds and Ex mode */
  129. #define TMODE_RAW   1     /* terminal mode for Normal and Insert mode */