mirror of
https://github.com/neovim/neovim.git
synced 2026-02-09 14:02:05 +10:00
What works: 1. ShaDa file dumping: header, registers, jump list, history, search patterns, substitute strings, variables. 2. ShaDa file reading: registers, global marks, variables. Most was not tested. TODO: 1. Merging. 2. Reading history, local marks, jump and buffer lists. 3. Documentation update. 4. Converting some data from &encoding. 5. Safer variant of dumping viminfo (dump to temporary file then rename). 6. Removing old viminfo code (currently masked with `#if 0` in a ShaDa file for reference).
28 lines
685 B
C
28 lines
685 B
C
#ifndef NVIM_MARK_H
|
|
#define NVIM_MARK_H
|
|
|
|
#include "nvim/buffer_defs.h"
|
|
#include "nvim/mark_defs.h"
|
|
#include "nvim/pos.h"
|
|
#include "nvim/os/time.h"
|
|
|
|
/// Free and set fmark using given value
|
|
#define RESET_FMARK(fmarkp_, mark_, fnum_) \
|
|
do { \
|
|
fmark_T *const fmarkp__ = fmarkp_; \
|
|
free_fmark(*fmarkp__); \
|
|
fmarkp__->mark = mark_; \
|
|
fmarkp__->fnum = fnum_; \
|
|
fmarkp__->timestamp = os_time(); \
|
|
fmarkp__->additional_data = NULL; \
|
|
} while (0)
|
|
|
|
/// Clear given fmark
|
|
#define CLEAR_FMARK(fmarkp_) \
|
|
RESET_FMARK(fmarkp_, ((pos_T) {0, 0, 0}), 0)
|
|
|
|
#ifdef INCLUDE_GENERATED_DECLARATIONS
|
|
# include "mark.h.generated.h"
|
|
#endif
|
|
#endif // NVIM_MARK_H
|