diff options
author | ZyX <kp-pav@yandex.ru> | 2015-04-25 18:47:31 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2015-10-08 21:59:51 +0300 |
commit | 244dbe3a77bf548f73d8781da7327f30e818b08a (patch) | |
tree | 8777a25447be219fe351106cfef37670e0278ddd /src/nvim/mark.h | |
parent | 0fdaab995ed95250b13058a717d5bc562e1834c8 (diff) | |
download | rneovim-244dbe3a77bf548f73d8781da7327f30e818b08a.tar.gz rneovim-244dbe3a77bf548f73d8781da7327f30e818b08a.tar.bz2 rneovim-244dbe3a77bf548f73d8781da7327f30e818b08a.zip |
viminfo: First version of ShaDa file dumping
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).
Diffstat (limited to 'src/nvim/mark.h')
-rw-r--r-- | src/nvim/mark.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/nvim/mark.h b/src/nvim/mark.h index aa89a5b625..a8aaf56648 100644 --- a/src/nvim/mark.h +++ b/src/nvim/mark.h @@ -4,6 +4,22 @@ #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" |