gno/bin/vi/term.h
gdr-ftp 784e3de7cd Initial checkin of aroff, binprint, center, less, ls, make, makemake,
passwd, ps, purge, shutdown, stty, upper, and vi.  These sources are
for the versions of the utils shipped with GNO v2.0.4.
1998-03-09 08:30:21 +00:00

171 lines
5.9 KiB
C

/*
* STEVIE - Simply Try this Editor for VI Enthusiasts
*
* Code Contributions By : Tim Thompson twitch!tjt
* Tony Andrews onecom!wldrdg!tony
* G. R. (Fred) Walter watmath!grwalter
*/
/*
* This file contains the machine dependent escape sequences that the editor
* needs to perform various operations. Some of the sequences here are
* optional. Anything not available should be indicated by a null string.
*
* Insert/delete line sequences are necessary.
*/
#ifdef GSOS
#include <termcap.h>
#endif
/*
* The macro names here correspond (more or less) to the actual ANSI names
*/
#ifdef ATARI
#define T_ED "\033E" /* erase display (may optionally home cursor) */
#define T_EL "\033l" /* erase the entire current line */
#define T_IL "\033L" /* insert one line */
#define T_DL "\033M" /* delete one line */
#define T_CI "\033f" /* invisible cursor (very optional) */
#define T_CV "\033e" /* visible cursor (very optional) */
#define T_TP "" /* plain text */
#define T_TI "" /* inverse-video text */
#endif
#ifdef UNIX
/* The UNIX sequences are hard-wired for ansi-like terminals. */
#define T_ED "\033[2J" /* erase display (may optionally home cursor) */
#define T_END_D "\033[J" /* erase to end of display */
#define T_EL "\033[2K" /* erase the entire current line */
#define T_END_L "\033[K" /* erase to the end of the current line */
#define T_IL "\033[L" /* insert one line */
#define T_DL "\033[M" /* delete one line */
#define T_CI "" /* invisible cursor (very optional) */
#define T_CV "" /* visible cursor (very optional) */
#define T_TP "" /* plain text */
#define T_TI "" /* inverse-video text */
#endif
#ifdef BSD
/* The BSD 4.3 sequences are hard-wired for ansi-like terminals. */
#define T_ED "\033[2J" /* erase display (may optionally home cursor) */
#define T_END_D "\033[J" /* erase to end of display */
#define T_EL "\033[2K" /* erase the entire current line */
#define T_END_L "\033[K" /* erase to the end of the current line */
#define T_IL "\033[L" /* insert line */
#define T_DL "\033[M" /* delete line */
#define T_CI "" /* invisible cursor */
#define T_CV "" /* visible cursor */
#define T_TP "\033[m" /* plain text */
#define T_TI "\033[7m" /* inverse-video text */
#endif
#ifdef OS2
/*
* The OS/2 ansi console driver is pretty deficient. No insert or delete line
* sequences. The erase line sequence only erases from the cursor to the end
* of the line. For our purposes that works out okay, since the only time
* T_EL is used is when the cursor is in column 0.
*
* The insert/delete line sequences marked here are actually implemented in
* the file os2.c using direct OS/2 system calls. This makes the capability
* available for the rest of the editor via appropriate escape sequences
* passed to outstr().
*/
#define T_ED "\033[2J" /* erase display (may optionally home cursor) */
#define T_EL "\033[K" /* erase the entire current line */
#define T_END_L "\033[K" /* erase to the end of the current line */
#define T_IL "\033[L" /* insert one line - fake (see os2.c) */
#define T_DL "\033[M" /* delete one line - fake (see os2.c) */
#define T_CI "" /* invisible cursor (very optional) */
#define T_CV "" /* visible cursor (very optional) */
#define T_TP "" /* plain text */
#define T_TI "" /* inverse-video text */
#endif
#ifdef AMIGA
/*
* The erase line sequence only erases from the cursor to the end of the
* line. For our purposes that works out okay, since the only time T_EL is
* used is when the cursor is in column 0.
*/
#define T_ED "\014" /* erase display (may optionally home cursor) */
#define T_END_D "\033[J" /* erase to end of display */
#define T_EL "\033[K" /* erase the entire current line */
#define T_END_L "\033[K" /* erase to the end of the current line */
#define T_IL "\033[" /* insert line */
#define T_IL_B "L"
#define T_DL "\033[" /* delete line */
#define T_DL_B "M"
#define T_CI "\033[0 p" /* invisible cursor (very optional) */
#define T_CV "\033[1 p" /* visible cursor (very optional) */
#define T_TP "\033[0m" /* plain text */
#define T_TI "\033[7m" /* inverse-video text */
#endif
#ifdef DOS
/*
* DOS sequences
*
* Some of the following sequences require the use of the "nansi.sys"
* console driver. The standard "ansi.sys" driver doesn't support
* sequences for insert/delete line.
*/
#define T_ED "\033[2J" /* erase display (may optionally home cursor) */
#define T_EL "\033[K" /* erase the entire current line */
#define T_IL "\033[L" /* insert line (requires nansi.sys driver) */
#define T_DL "\033[M" /* delete line (requires nansi.sys driver) */
#define T_CI "" /* invisible cursor (very optional) */
#define T_CV "" /* visible cursor (very optional) */
#define T_TP "" /* plain text */
#define T_TI "" /* inverse-video text */
#endif
#ifdef GSOS
/*
* Apple //gs sequences
*
* the insert and delete line sequences, since they are not supported by
* the display firmware :-(, are kluged. We set a window and scroll either
* up or down depending. But it works.
*/
extern char *tc_ED;
extern char *tc_EL;
extern char *tc_IL;
extern char *tc_DL;
extern char *tc_CI;
extern char *tc_CV;
extern char *tc_TP;
extern char *tc_TI;
extern char *tc_END_D;
extern char *tc_END_L;
#define T_ED tc_ED
#define T_EL tc_EL
#define T_IL tc_IL
#define T_DL tc_DL
#define T_CI tc_CI
#define T_CV tc_CV
#define T_TP tc_TP
#define T_TI tc_TI
#define T_END_D tc_END_D
#define T_END_L tc_END_L
#ifdef NOTDEFINED
#define T_ED "\014" /* erase display */
#define T_EL "\032" /* erase the current line */
#define T_IL "\033L" /* our own user-defined code */
#define T_DL "\033M" /* our own user-defined code */
#define T_CI "\006" /* 006 make cursor invisible */
#define T_CV "\005" /* 005 make cursor visible */
#define T_TP "\016" /* normal display format */
#define T_TI "\017" /* inverse-video */
#define T_END_D "\013" /* clear to end of screen */
#define T_END_L "\035" /* erase to the end of the current line */
#endif /* notdefined */
#endif