Mercurial > vim
diff src/libvterm/include/vterm.h @ 20496:747a270eb1db v8.2.0802
patch 8.2.0802: libvterm code lags behind the upstream version
Commit: https://github.com/vim/vim/commit/d863728913801c8fa6d633f6580edfcada533fd0
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed May 20 18:41:41 2020 +0200
patch 8.2.0802: libvterm code lags behind the upstream version
Problem: Libvterm code lags behind the upstream version.
Solution: Include revisions 759 - 762.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 20 May 2020 18:45:04 +0200 |
parents | 1d595fada804 |
children | 03826c672315 |
line wrap: on
line diff
--- a/src/libvterm/include/vterm.h +++ b/src/libvterm/include/vterm.h @@ -128,6 +128,7 @@ typedef enum { VTERM_ATTR_ITALIC, // bool: 3, 23 VTERM_ATTR_BLINK, // bool: 5, 25 VTERM_ATTR_REVERSE, // bool: 7, 27 + VTERM_ATTR_CONCEAL, // bool: 8, 28 VTERM_ATTR_STRIKE, // bool: 9, 29 VTERM_ATTR_FONT, // number: 10-19 VTERM_ATTR_FOREGROUND, // color: 30-39 90-97 @@ -314,13 +315,19 @@ typedef struct { // useful to add protocol? } VTermMouseState; +typedef struct { + int (*control)(unsigned char control, void *user); + int (*csi)(const char *leader, const long args[], int argcount, const char *intermed, char command, void *user); + int (*osc)(int command, VTermStringFragment frag, void *user); + int (*dcs)(const char *command, size_t commandlen, VTermStringFragment frag, void *user); +} VTermStateFallbacks; + VTermState *vterm_obtain_state(VTerm *vt); void vterm_state_set_callbacks(VTermState *state, const VTermStateCallbacks *callbacks, void *user); void *vterm_state_get_cbdata(VTermState *state); -// Only invokes control, csi, osc, dcs -void vterm_state_set_unrecognised_fallbacks(VTermState *state, const VTermParserCallbacks *fallbacks, void *user); +void vterm_state_set_unrecognised_fallbacks(VTermState *state, const VTermStateFallbacks *fallbacks, void *user); void *vterm_state_get_unrecognised_fbdata(VTermState *state); // Initialize the state. @@ -349,6 +356,7 @@ typedef struct { unsigned int italic : 1; unsigned int blink : 1; unsigned int reverse : 1; + unsigned int conceal : 1; unsigned int strike : 1; unsigned int font : 4; // 0 to 9 unsigned int dwl : 1; // On a DECDWL or DECDHL line @@ -395,8 +403,7 @@ VTermScreen *vterm_obtain_screen(VTerm * void vterm_screen_set_callbacks(VTermScreen *screen, const VTermScreenCallbacks *callbacks, void *user); void *vterm_screen_get_cbdata(VTermScreen *screen); -// Only invokes control, csi, osc, dcs -void vterm_screen_set_unrecognised_fallbacks(VTermScreen *screen, const VTermParserCallbacks *fallbacks, void *user); +void vterm_screen_set_unrecognised_fallbacks(VTermScreen *screen, const VTermStateFallbacks *fallbacks, void *user); void *vterm_screen_get_unrecognised_fbdata(VTermScreen *screen); // Enable support for using the alternate screen if "altscreen" is non-zero. @@ -438,8 +445,9 @@ typedef enum { VTERM_ATTR_FONT_MASK = 1 << 6, VTERM_ATTR_FOREGROUND_MASK = 1 << 7, VTERM_ATTR_BACKGROUND_MASK = 1 << 8, + VTERM_ATTR_CONCEAL_MASK = 1 << 9, - VTERM_ALL_ATTRS_MASK = (1 << 9) - 1 + VTERM_ALL_ATTRS_MASK = (1 << 10) - 1 } VTermAttrMask; int vterm_screen_get_attrs_extent(const VTermScreen *screen, VTermRect *extent, VTermPos pos, VTermAttrMask attrs);