mirror of
https://github.com/neovim/neovim.git
synced 2025-09-18 09:18:19 +00:00
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).
This commit is contained in:
@@ -57,6 +57,7 @@
|
||||
#include "nvim/types.h"
|
||||
#include "nvim/undo.h"
|
||||
#include "nvim/window.h"
|
||||
#include "nvim/shada.h"
|
||||
#include "nvim/os/os.h"
|
||||
#include "nvim/os/time.h"
|
||||
#include "nvim/os/input.h"
|
||||
@@ -2166,14 +2167,15 @@ readfile_charconvert (
|
||||
|
||||
|
||||
/*
|
||||
* Read marks for the current buffer from the viminfo file, when we support
|
||||
* Read marks for the current buffer from the ShaDa file, when we support
|
||||
* buffer marks and the buffer has a name.
|
||||
*/
|
||||
static void check_marks_read(void)
|
||||
{
|
||||
if (!curbuf->b_marks_read && get_viminfo_parameter('\'') > 0
|
||||
&& curbuf->b_ffname != NULL)
|
||||
read_viminfo(NULL, VIF_WANT_MARKS);
|
||||
&& curbuf->b_ffname != NULL) {
|
||||
shada_read_marks();
|
||||
}
|
||||
|
||||
/* Always set b_marks_read; needed when 'viminfo' is changed to include
|
||||
* the ' parameter after opening a buffer. */
|
||||
|
Reference in New Issue
Block a user