aboutsummaryrefslogtreecommitdiff
path: root/src/term.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/term.h')
-rw-r--r--src/term.h224
1 files changed, 68 insertions, 156 deletions
diff --git a/src/term.h b/src/term.h
index 0ba5a19c13..792d9b7484 100644
--- a/src/term.h
+++ b/src/term.h
@@ -1,156 +1,68 @@
-/* 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).
- */
-
-
-/*
- * 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_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_CSI, /* start insert mode (bar cursor) */
- KS_CEI, /* end insert mode (block cursor) */
- KS_CSV, /* scroll region vertical */
- KS_OP, /* original color pair */
- KS_U7 /* request cursor position */
-};
-
-#define KS_LAST KS_U7
-
-/*
- * 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_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_CRV (term_str(KS_CRV)) /* request version string */
-#define T_OP (term_str(KS_OP)) /* original color pair */
-#define T_U7 (term_str(KS_U7)) /* request cursor position */
-
-#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 */
+#ifndef NEOVIM_TERM_H
+#define NEOVIM_TERM_H
+/* term.c */
+int set_termname __ARGS((char_u *term));
+void set_mouse_termcode __ARGS((int n, char_u *s));
+void del_mouse_termcode __ARGS((int n));
+void getlinecol __ARGS((long *cp, long *rp));
+int add_termcap_entry __ARGS((char_u *name, int force));
+int term_is_8bit __ARGS((char_u *name));
+int term_is_gui __ARGS((char_u *name));
+char_u *tltoa __ARGS((unsigned long i));
+void termcapinit __ARGS((char_u *name));
+void out_flush __ARGS((void));
+void out_flush_check __ARGS((void));
+void out_trash __ARGS((void));
+void out_char __ARGS((unsigned c));
+void out_str_nf __ARGS((char_u *s));
+void out_str __ARGS((char_u *s));
+void term_windgoto __ARGS((int row, int col));
+void term_cursor_right __ARGS((int i));
+void term_append_lines __ARGS((int line_count));
+void term_delete_lines __ARGS((int line_count));
+void term_set_winpos __ARGS((int x, int y));
+void term_set_winsize __ARGS((int width, int height));
+void term_fg_color __ARGS((int n));
+void term_bg_color __ARGS((int n));
+void term_settitle __ARGS((char_u *title));
+void ttest __ARGS((int pairs));
+void add_long_to_buf __ARGS((long_u val, char_u *dst));
+void check_shellsize __ARGS((void));
+void limit_screen_size __ARGS((void));
+void win_new_shellsize __ARGS((void));
+void shell_resized __ARGS((void));
+void shell_resized_check __ARGS((void));
+void set_shellsize __ARGS((int width, int height, int mustset));
+void settmode __ARGS((int tmode));
+void starttermcap __ARGS((void));
+void stoptermcap __ARGS((void));
+void may_req_termresponse __ARGS((void));
+void may_req_ambiguous_char_width __ARGS((void));
+int swapping_screen __ARGS((void));
+void setmouse __ARGS((void));
+int mouse_has __ARGS((int c));
+int mouse_model_popup __ARGS((void));
+void scroll_start __ARGS((void));
+void cursor_on __ARGS((void));
+void cursor_off __ARGS((void));
+void term_cursor_shape __ARGS((void));
+void scroll_region_set __ARGS((win_T *wp, int off));
+void scroll_region_reset __ARGS((void));
+void clear_termcodes __ARGS((void));
+void add_termcode __ARGS((char_u *name, char_u *string, int flags));
+char_u *find_termcode __ARGS((char_u *name));
+char_u *get_termcode __ARGS((int i));
+void del_termcode __ARGS((char_u *name));
+void set_mouse_topline __ARGS((win_T *wp));
+int check_termcode __ARGS((int max_offset, char_u *buf, int bufsize,
+ int *buflen));
+char_u *replace_termcodes __ARGS((char_u *from, char_u **bufp, int from_part,
+ int do_lt,
+ int special));
+int find_term_bykeys __ARGS((char_u *src));
+void show_termcodes __ARGS((void));
+int show_one_termcode __ARGS((char_u *name, char_u *code, int printit));
+char_u *translate_mapping __ARGS((char_u *str, int expmap));
+void update_tcap __ARGS((int attr));
+/* vim: set ft=c : */
+#endif /* NEOVIM_TERM_H */