Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
20495:0736d3dc23ba | 20496:747a270eb1db |
---|---|
126 VTERM_ATTR_BOLD = 1, // bool: 1, 22 | 126 VTERM_ATTR_BOLD = 1, // bool: 1, 22 |
127 VTERM_ATTR_UNDERLINE, // number: 4, 21, 24 | 127 VTERM_ATTR_UNDERLINE, // number: 4, 21, 24 |
128 VTERM_ATTR_ITALIC, // bool: 3, 23 | 128 VTERM_ATTR_ITALIC, // bool: 3, 23 |
129 VTERM_ATTR_BLINK, // bool: 5, 25 | 129 VTERM_ATTR_BLINK, // bool: 5, 25 |
130 VTERM_ATTR_REVERSE, // bool: 7, 27 | 130 VTERM_ATTR_REVERSE, // bool: 7, 27 |
131 VTERM_ATTR_CONCEAL, // bool: 8, 28 | |
131 VTERM_ATTR_STRIKE, // bool: 9, 29 | 132 VTERM_ATTR_STRIKE, // bool: 9, 29 |
132 VTERM_ATTR_FONT, // number: 10-19 | 133 VTERM_ATTR_FONT, // number: 10-19 |
133 VTERM_ATTR_FOREGROUND, // color: 30-39 90-97 | 134 VTERM_ATTR_FOREGROUND, // color: 30-39 90-97 |
134 VTERM_ATTR_BACKGROUND, // color: 40-49 100-107 | 135 VTERM_ATTR_BACKGROUND, // color: 40-49 100-107 |
135 | 136 |
312 #define MOUSE_WANT_DRAG 0x02 | 313 #define MOUSE_WANT_DRAG 0x02 |
313 #define MOUSE_WANT_MOVE 0x04 | 314 #define MOUSE_WANT_MOVE 0x04 |
314 // useful to add protocol? | 315 // useful to add protocol? |
315 } VTermMouseState; | 316 } VTermMouseState; |
316 | 317 |
318 typedef struct { | |
319 int (*control)(unsigned char control, void *user); | |
320 int (*csi)(const char *leader, const long args[], int argcount, const char *intermed, char command, void *user); | |
321 int (*osc)(int command, VTermStringFragment frag, void *user); | |
322 int (*dcs)(const char *command, size_t commandlen, VTermStringFragment frag, void *user); | |
323 } VTermStateFallbacks; | |
324 | |
317 VTermState *vterm_obtain_state(VTerm *vt); | 325 VTermState *vterm_obtain_state(VTerm *vt); |
318 | 326 |
319 void vterm_state_set_callbacks(VTermState *state, const VTermStateCallbacks *callbacks, void *user); | 327 void vterm_state_set_callbacks(VTermState *state, const VTermStateCallbacks *callbacks, void *user); |
320 void *vterm_state_get_cbdata(VTermState *state); | 328 void *vterm_state_get_cbdata(VTermState *state); |
321 | 329 |
322 // Only invokes control, csi, osc, dcs | 330 void vterm_state_set_unrecognised_fallbacks(VTermState *state, const VTermStateFallbacks *fallbacks, void *user); |
323 void vterm_state_set_unrecognised_fallbacks(VTermState *state, const VTermParserCallbacks *fallbacks, void *user); | |
324 void *vterm_state_get_unrecognised_fbdata(VTermState *state); | 331 void *vterm_state_get_unrecognised_fbdata(VTermState *state); |
325 | 332 |
326 // Initialize the state. | 333 // Initialize the state. |
327 void vterm_state_reset(VTermState *state, int hard); | 334 void vterm_state_reset(VTermState *state, int hard); |
328 | 335 |
347 unsigned int bold : 1; | 354 unsigned int bold : 1; |
348 unsigned int underline : 2; | 355 unsigned int underline : 2; |
349 unsigned int italic : 1; | 356 unsigned int italic : 1; |
350 unsigned int blink : 1; | 357 unsigned int blink : 1; |
351 unsigned int reverse : 1; | 358 unsigned int reverse : 1; |
359 unsigned int conceal : 1; | |
352 unsigned int strike : 1; | 360 unsigned int strike : 1; |
353 unsigned int font : 4; // 0 to 9 | 361 unsigned int font : 4; // 0 to 9 |
354 unsigned int dwl : 1; // On a DECDWL or DECDHL line | 362 unsigned int dwl : 1; // On a DECDWL or DECDHL line |
355 unsigned int dhl : 2; // On a DECDHL line (1=top 2=bottom) | 363 unsigned int dhl : 2; // On a DECDHL line (1=top 2=bottom) |
356 } VTermScreenCellAttrs; | 364 } VTermScreenCellAttrs; |
393 * changed. "user" is passed into to the callback. | 401 * changed. "user" is passed into to the callback. |
394 */ | 402 */ |
395 void vterm_screen_set_callbacks(VTermScreen *screen, const VTermScreenCallbacks *callbacks, void *user); | 403 void vterm_screen_set_callbacks(VTermScreen *screen, const VTermScreenCallbacks *callbacks, void *user); |
396 void *vterm_screen_get_cbdata(VTermScreen *screen); | 404 void *vterm_screen_get_cbdata(VTermScreen *screen); |
397 | 405 |
398 // Only invokes control, csi, osc, dcs | 406 void vterm_screen_set_unrecognised_fallbacks(VTermScreen *screen, const VTermStateFallbacks *fallbacks, void *user); |
399 void vterm_screen_set_unrecognised_fallbacks(VTermScreen *screen, const VTermParserCallbacks *fallbacks, void *user); | |
400 void *vterm_screen_get_unrecognised_fbdata(VTermScreen *screen); | 407 void *vterm_screen_get_unrecognised_fbdata(VTermScreen *screen); |
401 | 408 |
402 // Enable support for using the alternate screen if "altscreen" is non-zero. | 409 // Enable support for using the alternate screen if "altscreen" is non-zero. |
403 // Before that switching to the alternate screen won't work. | 410 // Before that switching to the alternate screen won't work. |
404 // Calling with "altscreen" zero has no effect. | 411 // Calling with "altscreen" zero has no effect. |
436 VTERM_ATTR_REVERSE_MASK = 1 << 4, | 443 VTERM_ATTR_REVERSE_MASK = 1 << 4, |
437 VTERM_ATTR_STRIKE_MASK = 1 << 5, | 444 VTERM_ATTR_STRIKE_MASK = 1 << 5, |
438 VTERM_ATTR_FONT_MASK = 1 << 6, | 445 VTERM_ATTR_FONT_MASK = 1 << 6, |
439 VTERM_ATTR_FOREGROUND_MASK = 1 << 7, | 446 VTERM_ATTR_FOREGROUND_MASK = 1 << 7, |
440 VTERM_ATTR_BACKGROUND_MASK = 1 << 8, | 447 VTERM_ATTR_BACKGROUND_MASK = 1 << 8, |
441 | 448 VTERM_ATTR_CONCEAL_MASK = 1 << 9, |
442 VTERM_ALL_ATTRS_MASK = (1 << 9) - 1 | 449 |
450 VTERM_ALL_ATTRS_MASK = (1 << 10) - 1 | |
443 } VTermAttrMask; | 451 } VTermAttrMask; |
444 | 452 |
445 int vterm_screen_get_attrs_extent(const VTermScreen *screen, VTermRect *extent, VTermPos pos, VTermAttrMask attrs); | 453 int vterm_screen_get_attrs_extent(const VTermScreen *screen, VTermRect *extent, VTermPos pos, VTermAttrMask attrs); |
446 | 454 |
447 int vterm_screen_get_cell(const VTermScreen *screen, VTermPos pos, VTermScreenCell *cell); | 455 int vterm_screen_get_cell(const VTermScreen *screen, VTermPos pos, VTermScreenCell *cell); |