diff options
Diffstat (limited to 'src/nvim/sign_defs.h')
-rw-r--r-- | src/nvim/sign_defs.h | 52 |
1 files changed, 14 insertions, 38 deletions
diff --git a/src/nvim/sign_defs.h b/src/nvim/sign_defs.h index 65ab7a72f6..6b8deca02f 100644 --- a/src/nvim/sign_defs.h +++ b/src/nvim/sign_defs.h @@ -5,47 +5,23 @@ #include "nvim/pos.h" #include "nvim/types.h" -// signs: line annotations - -// Sign group -typedef struct signgroup_S { - int sg_next_sign_id; ///< next sign id for this group - uint16_t sg_refcount; ///< number of signs in this group - char sg_name[]; ///< 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 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 { char *text; int hl_id; - int priority; } SignTextAttrs; -#define SIGN_SHOW_MAX 9 - -// Default sign priority for highlighting -#define SIGN_DEF_PRIO 10 - -// type argument for sign_get_attr() -typedef enum { - SIGN_LINEHL, - SIGN_NUMHL, - SIGN_TEXT, -} SignType; +/// Struct to hold the sign properties. +typedef struct sign { + char *sn_name; // name of sign + char *sn_icon; // name of pixmap + char *sn_text; // text used instead of pixmap + int sn_line_hl; // highlight ID for line + int sn_text_hl; // highlight ID for text + int sn_cul_hl; // highlight ID for text on current line when 'cursorline' is set + int sn_num_hl; // highlight ID for line number +} sign_T; + +#define SIGN_WIDTH 2 // Number of display cells for a sign in the signcolumn +#define SIGN_SHOW_MAX 9 // Maximum number of signs shown on a single line +#define SIGN_DEF_PRIO 10 // Default sign highlight priority |