Mercurial > vim
diff src/structs.h @ 17264:82b5d981fe59 v8.1.1631
patch 8.1.1631: displaying signs is inefficient
commit https://github.com/vim/vim/commit/4e038571aa91521e110187a256b5d16bff8b5820
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jul 4 18:28:35 2019 +0200
patch 8.1.1631: displaying signs is inefficient
Problem: Displaying signs is inefficient.
Solution: Avoid making multiple calls to get information about a placed
sign. (Yegappan Lakshmanan, closes #4586)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 04 Jul 2019 18:30:05 +0200 |
parents | 765aa1380e93 |
children | a7183462339f |
line wrap: on
line diff
--- a/src/structs.h +++ b/src/structs.h @@ -759,6 +759,17 @@ struct signlist signlist_T *prev; // previous entry -- for easy reordering }; +/* + * Sign attributes. Used by the screen refresh routines. + */ +typedef struct sign_attrs_S { + int typenr; + void *icon; + char_u *text; + int texthl; + int linehl; +} sign_attrs_T; + #if defined(FEAT_SIGNS) || defined(PROTO) // Macros to get the sign group structure from the group name #define SGN_KEY_OFF offsetof(signgroup_T, sg_name) @@ -767,11 +778,6 @@ struct signlist // Default sign priority for highlighting #define SIGN_DEF_PRIO 10 -/* type argument for buf_getsigntype() */ -#define SIGN_ANY 0 -#define SIGN_LINEHL 1 -#define SIGN_ICON 2 -#define SIGN_TEXT 3 #endif /*