aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/plines.h
blob: ba04ef45545341acc4088a15d3a2dd33fac4a53a (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
28
29
30
#ifndef NVIM_PLINES_H
#define NVIM_PLINES_H

#include <stdbool.h>
#include <stdint.h>

#include "nvim/buffer_defs.h"
#include "nvim/marktree.h"
#include "nvim/pos.h"

/// Argument for lbr_chartabsize().
typedef struct {
  win_T *cts_win;
  char *cts_line;                ///< start of the line
  char *cts_ptr;                 ///< current position in line
  int cts_row;

  bool cts_has_virt_text;        ///< true if if there is inline virtual text
  int cts_cur_text_width_left;   ///< width of virtual text left of cursor
  int cts_cur_text_width_right;  ///< width of virtual text right of cursor
  MarkTreeIter cts_iter[1];

  int cts_vcol;                  ///< virtual column at current position
  int cts_max_head_vcol;         ///< see win_lbr_chartabsize()
} chartabsize_T;

#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "plines.h.generated.h"
#endif
#endif  // NVIM_PLINES_H