mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
refactor(statusline): move statusline defs to statusline_defs.h
This commit is contained in:
parent
08fb3b5309
commit
a4e376f09b
@ -18,7 +18,6 @@ typedef struct {
|
||||
#include "klib/kvec.h"
|
||||
#include "nvim/api/private/defs.h"
|
||||
#include "nvim/eval/typval.h"
|
||||
#include "nvim/fold_defs.h"
|
||||
#include "nvim/garray.h"
|
||||
#include "nvim/grid_defs.h"
|
||||
#include "nvim/hashtab.h"
|
||||
@ -338,36 +337,6 @@ struct mapblock {
|
||||
bool m_replace_keycodes; // replace keycodes in result of expression
|
||||
};
|
||||
|
||||
/// Used for highlighting in the status line.
|
||||
typedef struct stl_hlrec stl_hlrec_t;
|
||||
struct stl_hlrec {
|
||||
char *start;
|
||||
int userhl; // 0: no HL, 1-9: User HL, < 0 for syn ID
|
||||
};
|
||||
|
||||
/// Used for building the status line.
|
||||
typedef struct stl_item stl_item_t;
|
||||
struct stl_item {
|
||||
// Where the item starts in the status line output buffer
|
||||
char *start;
|
||||
// Function to run for ClickFunc items.
|
||||
char *cmd;
|
||||
// The minimum width of the item
|
||||
int minwid;
|
||||
// The maximum width of the item
|
||||
int maxwid;
|
||||
enum {
|
||||
Normal,
|
||||
Empty,
|
||||
Group,
|
||||
Separate,
|
||||
Highlight,
|
||||
TabPage,
|
||||
ClickFunc,
|
||||
Trunc,
|
||||
} type;
|
||||
};
|
||||
|
||||
// values for b_syn_spell: what to do with toplevel text
|
||||
#define SYNSPL_DEFAULT 0 // spell check if @Spell not defined
|
||||
#define SYNSPL_TOP 1 // spell check toplevel text
|
||||
@ -1417,26 +1386,6 @@ struct window_S {
|
||||
size_t w_statuscol_click_defs_size;
|
||||
};
|
||||
|
||||
/// Struct to hold info for 'statuscolumn'
|
||||
typedef struct statuscol statuscol_T;
|
||||
|
||||
struct statuscol {
|
||||
int width; ///< width of the status column
|
||||
int cur_attr; ///< current attributes in text
|
||||
int num_attr; ///< attributes used for line number
|
||||
int sign_cul_attr; ///< cursorline sign attr
|
||||
int truncate; ///< truncated width
|
||||
bool draw; ///< whether to draw the statuscolumn
|
||||
bool use_cul; ///< whether to use cursorline attrs
|
||||
char text[MAXPATHL]; ///< text in status column
|
||||
char *textp; ///< current position in text
|
||||
char *text_end; ///< end of text (the NUL byte)
|
||||
stl_hlrec_t *hlrec; ///< highlight groups
|
||||
stl_hlrec_t *hlrecp; ///< current highlight group
|
||||
foldinfo_T foldinfo; ///< fold information
|
||||
SignTextAttrs *sattrs; ///< sign attributes
|
||||
};
|
||||
|
||||
/// Macros defined in Vim, but not in Neovim
|
||||
// uncrustify:off
|
||||
#define CHANGEDTICK(buf) \
|
||||
|
@ -3,7 +3,10 @@
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#include "nvim/fold_defs.h"
|
||||
#include "nvim/macros.h"
|
||||
#include "nvim/os/os_defs.h"
|
||||
#include "nvim/sign_defs.h"
|
||||
|
||||
/// Status line click definition
|
||||
typedef struct {
|
||||
@ -23,4 +26,54 @@ typedef struct {
|
||||
const char *start; ///< Location where region starts.
|
||||
} StlClickRecord;
|
||||
|
||||
/// Used for highlighting in the status line.
|
||||
typedef struct stl_hlrec stl_hlrec_t;
|
||||
struct stl_hlrec {
|
||||
char *start;
|
||||
int userhl; // 0: no HL, 1-9: User HL, < 0 for syn ID
|
||||
};
|
||||
|
||||
/// Used for building the status line.
|
||||
typedef struct stl_item stl_item_t;
|
||||
struct stl_item {
|
||||
// Where the item starts in the status line output buffer
|
||||
char *start;
|
||||
// Function to run for ClickFunc items.
|
||||
char *cmd;
|
||||
// The minimum width of the item
|
||||
int minwid;
|
||||
// The maximum width of the item
|
||||
int maxwid;
|
||||
enum {
|
||||
Normal,
|
||||
Empty,
|
||||
Group,
|
||||
Separate,
|
||||
Highlight,
|
||||
TabPage,
|
||||
ClickFunc,
|
||||
Trunc,
|
||||
} type;
|
||||
};
|
||||
|
||||
/// Struct to hold info for 'statuscolumn'
|
||||
typedef struct statuscol statuscol_T;
|
||||
|
||||
struct statuscol {
|
||||
int width; ///< width of the status column
|
||||
int cur_attr; ///< current attributes in text
|
||||
int num_attr; ///< attributes used for line number
|
||||
int sign_cul_attr; ///< cursorline sign attr
|
||||
int truncate; ///< truncated width
|
||||
bool draw; ///< whether to draw the statuscolumn
|
||||
bool use_cul; ///< whether to use cursorline attrs
|
||||
char text[MAXPATHL]; ///< text in status column
|
||||
char *textp; ///< current position in text
|
||||
char *text_end; ///< end of text (the NUL byte)
|
||||
stl_hlrec_t *hlrec; ///< highlight groups
|
||||
stl_hlrec_t *hlrecp; ///< current highlight group
|
||||
foldinfo_T foldinfo; ///< fold information
|
||||
SignTextAttrs *sattrs; ///< sign attributes
|
||||
};
|
||||
|
||||
#endif // NVIM_STATUSLINE_DEFS_H
|
||||
|
Loading…
Reference in New Issue
Block a user