diff options
author | ZyX <kp-pav@yandex.ru> | 2015-08-18 19:32:31 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2015-10-08 22:00:49 +0300 |
commit | 0fe11fe70a1927356bf3c2edc01741c1cd65e614 (patch) | |
tree | 686b819fb81de56bcc53f682ea4a1f01d88fe999 | |
parent | 127e63fc17c093298bbb3ae3640d991857a2bd61 (diff) | |
download | rneovim-0fe11fe70a1927356bf3c2edc01741c1cd65e614.tar.gz rneovim-0fe11fe70a1927356bf3c2edc01741c1cd65e614.tar.bz2 rneovim-0fe11fe70a1927356bf3c2edc01741c1cd65e614.zip |
shada: Add generator key to the header
For use in viminfo→shada converters, plugins that allow editing ShaDa files or
any other software which generates ShaDa files for whatever purpose.
-rw-r--r-- | runtime/doc/starting.txt | 13 | ||||
-rw-r--r-- | src/nvim/shada.c | 10 |
2 files changed, 14 insertions, 9 deletions
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index dfb80b7f98..2078e9761b 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -1182,14 +1182,19 @@ exactly four MessagePack objects: entry type: Entry type (name) Entry data ~ - 1 (Header) Map containing data that describes the NeoVim instance - that written this ShaDa file. It is ignored when - reading ShaDa files. Contains the following data: + 1 (Header) Map containing data that describes the generator + instance that wrote this ShaDa file. It is ignored + when reading ShaDa files. Contains the following data: Key Data ~ - version Binary, NeoVim version. + generator Binary, software used to generate ShaDa + file. Is equal to "nvim" when ShaDa file was + written by NeoVim. + version Binary, generator version. encoding Binary, effective 'encoding' value. max_kbyte Integer, effective |shada-s| limit value. pid Integer, instance process ID. + * It is allowed to have any number of + additional keys with any data. 2 (SearchPattern) Map containing data describing last used search or substitute pattern. Normally ShaDa file contains two such entries: one with "ss" key set to true (describes diff --git a/src/nvim/shada.c b/src/nvim/shada.c index 76ae82e309..322f485f48 100644 --- a/src/nvim/shada.c +++ b/src/nvim/shada.c @@ -2418,9 +2418,11 @@ static ShaDaWriteResult shada_write(ShaDaWriteDef *const sd_writer, .timestamp = os_time(), .data = { .header = { - .size = 4, - .capacity = 4, + .size = 5, + .capacity = 5, .items = ((KeyValuePair[]) { + { STATIC_CSTR_AS_STRING("generator"), + STRING_OBJ(STATIC_CSTR_AS_STRING("nvim")) }, { STATIC_CSTR_AS_STRING("version"), STRING_OBJ(cstr_as_string(longVersion)) }, { STATIC_CSTR_AS_STRING("max_kbyte"), @@ -2605,9 +2607,7 @@ static ShaDaWriteResult shada_write(ShaDaWriteDef *const sd_writer, continue; } const char *const fname = (char *) (fm.fmark.fnum == 0 - ? (fm.fname == NULL - ? NULL - : fm.fname) + ? (fm.fname == NULL ? NULL : fm.fname) : buf->b_ffname); if (fname == NULL) { continue; |