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.h52
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