aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/mark_defs.h
blob: c6f2e46bb093a9ad9b8a0cbe4bab399267e2934e (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
#ifndef NVIM_MARK_DEFS_H
#define NVIM_MARK_DEFS_H

#include "nvim/pos.h"

/*
 * marks: positions in a file
 * (a normal mark is a lnum/col pair, the same as a file position)
 */

/* (Note: for EBCDIC there are more than 26, because there are gaps in the
 * alphabet coding.  To minimize changes to the code, I decided to just
 * increase the number of possible marks. */
#define NMARKS          ('z' - 'a' + 1) /* max. # of named marks */
#define JUMPLISTSIZE    100             /* max. # of marks in jump list */
#define TAGSTACKSIZE    20              /* max. # of tags in tag stack */

typedef struct filemark {
  pos_T mark;                   /* cursor position */
  int fnum;                     /* file number */
} fmark_T;

/* Xtended file mark: also has a file name */
typedef struct xfilemark {
  fmark_T fmark;
  char_u      *fname;           /* file name, used when fnum == 0 */
} xfmark_T;

#endif // NVIM_MARK_DEFS_H