aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/sign_defs.h
blob: 6b8deca02fad5595c2ad315b5e56a1bf6f8d17cc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once

#include <stdbool.h>

#include "nvim/pos.h"
#include "nvim/types.h"

/// Sign attributes. Used by the screen refresh routines.
typedef struct {
  char *text;
  int hl_id;
} SignTextAttrs;

/// 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