mirror of
https://github.com/neovim/neovim.git
synced 2025-09-17 08:48:16 +00:00
49 lines
1.3 KiB
C
49 lines
1.3 KiB
C
#ifndef NVIM_MARK_DEFS_H
|
|
#define NVIM_MARK_DEFS_H
|
|
|
|
#include "nvim/pos.h"
|
|
#include "nvim/os/time.h"
|
|
#include "nvim/eval/typval.h"
|
|
|
|
/*
|
|
* marks: positions in a file
|
|
* (a normal mark is a lnum/col pair, the same as a file position)
|
|
*/
|
|
|
|
/// 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.
|
|
Timestamp timestamp; ///< Time when this mark was last set.
|
|
dict_T *additional_data; ///< Additional data from ShaDa file.
|
|
} fmark_T;
|
|
|
|
/// Structure defining extended mark (mark with file name attached)
|
|
typedef struct xfilemark {
|
|
fmark_T fmark; ///< Actual mark.
|
|
char_u *fname; ///< File name, used when fnum == 0.
|
|
} xfmark_T;
|
|
|
|
#endif // NVIM_MARK_DEFS_H
|