aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/sign_defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/sign_defs.h')
-rw-r--r--src/nvim/sign_defs.h46
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;