diff options
Diffstat (limited to 'src/nvim/sign_defs.h')
-rw-r--r-- | src/nvim/sign_defs.h | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/src/nvim/sign_defs.h b/src/nvim/sign_defs.h index 19c0263cf1..721b2db25b 100644 --- a/src/nvim/sign_defs.h +++ b/src/nvim/sign_defs.h @@ -10,39 +10,47 @@ // Sign group typedef struct signgroup_S { - uint16_t refcount; // number of signs in this group - int next_sign_id; // next sign id for this group - char_u sg_name[1]; // sign group name + uint16_t sg_refcount; // number of signs in this group + int sg_next_sign_id; // next sign id for this group + char_u sg_name[1]; // sign group name } signgroup_T; // Macros to get the sign group structure from the group name #define SGN_KEY_OFF offsetof(signgroup_T, sg_name) #define HI2SG(hi) ((signgroup_T *)((hi)->hi_key - SGN_KEY_OFF)) -typedef struct signlist signlist_T; - -struct signlist -{ - int id; // unique identifier for each placed sign - int typenr; // typenr of sign - int priority; // priority for highlighting - bool has_text_or_icon; // has text or icon - linenr_T lnum; // line number which has this sign - signgroup_T *group; // sign group - signlist_T *next; // next signlist entry - signlist_T *prev; // previous entry -- for easy reordering +typedef struct sign_entry sign_entry_T; + +struct sign_entry { + int se_id; // unique identifier for each placed sign + int se_typenr; // typenr of sign + int se_priority; // priority for highlighting + bool se_has_text_or_icon; // has text or icon + linenr_T se_lnum; // line number which has this sign + signgroup_T *se_group; // sign group + sign_entry_T *se_next; // next entry in a list of signs + sign_entry_T *se_prev; // previous entry -- for easy reordering }; +/// Sign attributes. Used by the screen refresh routines. +typedef struct sign_attrs_S { + int sat_typenr; + char_u *sat_text; + int sat_texthl; + int sat_linehl; + int sat_numhl; +} sign_attrs_T; + +#define SIGN_SHOW_MAX 9 + // Default sign priority for highlighting #define SIGN_DEF_PRIO 10 -// type argument for buf_getsigntype() and sign_get_attr() +// type argument for sign_get_attr() typedef enum { - SIGN_ANY, SIGN_LINEHL, - SIGN_ICON, - SIGN_TEXT, SIGN_NUMHL, + SIGN_TEXT, } SignType; |