1 #ifndef NVIM_POS_H
2 #define NVIM_POS_H
3 
4 // for INT_MAX, LONG_MAX et al.
5 #include <limits.h>
6 
7 typedef long linenr_T;         // line number type
8 /// Format used to print values which have linenr_T type
9 #define PRIdLINENR "ld"
10 
11 /// Column number type
12 typedef int colnr_T;
13 /// Format used to print values which have colnr_T type
14 #define PRIdCOLNR "d"
15 
16 /// Maximal (invalid) line number
17 enum { MAXLNUM = 0x7fffffff, };
18 /// Maximal column number
19 enum { MAXCOL = INT_MAX, };
20 // Minimum line number
21 enum { MINLNUM = 1, };
22 // minimum column number
23 enum { MINCOL = 1, };
24 
25 /*
26  * position in file or buffer
27  */
28 typedef struct {
29   linenr_T lnum;        // line number
30   colnr_T col;          // column number
31   colnr_T coladd;
32 } pos_T;
33 
34 
35 /*
36  * Same, but without coladd.
37  */
38 typedef struct {
39   linenr_T lnum;        // line number
40   colnr_T col;          // column number
41 } lpos_T;
42 
43 #endif  // NVIM_POS_H
44