comparison src/libvterm/include/vterm.h @ 32728:b13f723a7ec6 v9.0.1684

patch 9.0.1684: Update libvterm to rev 839 Commit: https://github.com/vim/vim/commit/b00df7aa388994119346a21d77b0d0db2a0a5e9f Author: zeertzjq <zeertzjq@outlook.com> Date: Tue Aug 8 11:03:00 2023 +0800 patch 9.0.1684: Update libvterm to rev 839 Problem: libvterm slightly outdated Solution: Update libvterm from rev 818 to rev 839 Notable fix: libvterm now handles DECSM/DECRM with multiple arguents, so several ncurses programs (e.g. nnn) can enable mouse properly when run in Vim's terminal in XTerm. closes: #12746 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author Christian Brabandt <cb@256bit.org>
date Fri, 11 Aug 2023 21:30:03 +0200
parents dcde141f2d1e
children 288bbf09d372
comparison
equal deleted inserted replaced
32727:6beeb2e0105d 32728:b13f723a7ec6
21 typedef unsigned short uint16_t; 21 typedef unsigned short uint16_t;
22 typedef unsigned int uint32_t; 22 typedef unsigned int uint32_t;
23 23
24 #define VTERM_VERSION_MAJOR 0 24 #define VTERM_VERSION_MAJOR 0
25 #define VTERM_VERSION_MINOR 3 25 #define VTERM_VERSION_MINOR 3
26 #define VTERM_VERSION_PATCH 3
26 27
27 #define VTERM_CHECK_VERSION \ 28 #define VTERM_CHECK_VERSION \
28 vterm_check_version(VTERM_VERSION_MAJOR, VTERM_VERSION_MINOR) 29 vterm_check_version(VTERM_VERSION_MAJOR, VTERM_VERSION_MINOR)
29 30
30 /* Any cell can contain at most one basic printing character and 5 combining 31 /* Any cell can contain at most one basic printing character and 5 combining
253 VTERM_PROP_TITLE, // string 254 VTERM_PROP_TITLE, // string
254 VTERM_PROP_ICONNAME, // string 255 VTERM_PROP_ICONNAME, // string
255 VTERM_PROP_REVERSE, // bool 256 VTERM_PROP_REVERSE, // bool
256 VTERM_PROP_CURSORSHAPE, // number 257 VTERM_PROP_CURSORSHAPE, // number
257 VTERM_PROP_MOUSE, // number 258 VTERM_PROP_MOUSE, // number
259 VTERM_PROP_FOCUSREPORT, // bool
258 VTERM_PROP_CURSORCOLOR, // VIM - string 260 VTERM_PROP_CURSORCOLOR, // VIM - string
259 261
260 VTERM_N_PROPS 262 VTERM_N_PROPS
261 } VTermProp; 263 } VTermProp;
262 264
419 int (*resize)(int rows, int cols, void *user); 421 int (*resize)(int rows, int cols, void *user);
420 } VTermParserCallbacks; 422 } VTermParserCallbacks;
421 423
422 void vterm_parser_set_callbacks(VTerm *vt, const VTermParserCallbacks *callbacks, void *user); 424 void vterm_parser_set_callbacks(VTerm *vt, const VTermParserCallbacks *callbacks, void *user);
423 void *vterm_parser_get_cbdata(VTerm *vt); 425 void *vterm_parser_get_cbdata(VTerm *vt);
426
427 /* Normally NUL, CAN, SUB and DEL are ignored. Setting this true causes them
428 * to be emitted by the 'control' callback
429 */
430 void vterm_parser_set_emit_nul(VTerm *vt, int emit);
424 431
425 // ----------- 432 // -----------
426 // State layer 433 // State layer
427 // ----------- 434 // -----------
428 435
643 * Same as vterm_state_convert_color_to_rgb(), but takes a `screen` instead of a `state` 650 * Same as vterm_state_convert_color_to_rgb(), but takes a `screen` instead of a `state`
644 * instance. 651 * instance.
645 */ 652 */
646 void vterm_screen_convert_color_to_rgb(const VTermScreen *screen, VTermColor *col); 653 void vterm_screen_convert_color_to_rgb(const VTermScreen *screen, VTermColor *col);
647 654
655 /**
656 * Similar to vterm_state_set_default_colors(), but also resets colours in the
657 * screen buffer(s)
658 */
659 void vterm_screen_set_default_colors(VTermScreen *screen, const VTermColor *default_fg, const VTermColor *default_bg);
660
648 // --------- 661 // ---------
649 // Utilities 662 // Utilities
650 // --------- 663 // ---------
651 664
652 VTermValueType vterm_get_attr_type(VTermAttr attr); 665 VTermValueType vterm_get_attr_type(VTermAttr attr);