aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/mark_defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/mark_defs.h')
-rw-r--r--src/nvim/mark_defs.h38
1 files changed, 30 insertions, 8 deletions
diff --git a/src/nvim/mark_defs.h b/src/nvim/mark_defs.h
index 67392234d3..720b2475ed 100644
--- a/src/nvim/mark_defs.h
+++ b/src/nvim/mark_defs.h
@@ -2,25 +2,47 @@
#define NVIM_MARK_DEFS_H
#include "nvim/pos.h"
+#include "nvim/os/time.h"
+#include "nvim/eval_defs.h"
/*
* marks: positions in a file
* (a normal mark is a lnum/col pair, the same as a file position)
*/
-#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 */
+/// Number of possible numbered global marks
+#define EXTRA_MARKS ('9' - '0' + 1)
+/// Maximum possible number of letter marks
+#define NMARKS ('z' - 'a' + 1)
+
+/// Total possible number of global marks
+#define NGLOBALMARKS (NMARKS + EXTRA_MARKS)
+
+/// Total possible number of local marks
+///
+/// That are uppercase marks plus '"', '^' and '.'. There are other local marks,
+/// but they are not saved in ShaDa files.
+#define NLOCALMARKS (NMARKS + 3)
+
+/// Maximum number of marks in jump list
+#define JUMPLISTSIZE 100
+
+/// Maximum number of tags in tag stack
+#define TAGSTACKSIZE 20
+
+/// Structure defining single local mark
typedef struct filemark {
- pos_T mark; /* cursor position */
- int fnum; /* file number */
+ pos_T mark; ///< Cursor position.
+ int fnum; ///< File number.
+ Timestamp timestamp; ///< Time when this mark was last set.
+ dict_T *additional_data; ///< Additional data from ShaDa file.
} fmark_T;
-/* Xtended file mark: also has a file name */
+/// Structure defining extended mark (mark with file name attached)
typedef struct xfilemark {
- fmark_T fmark;
- char_u *fname; /* file name, used when fnum == 0 */
+ fmark_T fmark; ///< Actual mark.
+ char_u *fname; ///< File name, used when fnum == 0.
} xfmark_T;
#endif // NVIM_MARK_DEFS_H