mirror of
https://github.com/neovim/neovim.git
synced 2025-09-21 02:38: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:
@@ -2042,8 +2042,7 @@ static void changed_common(linenr_T lnum, colnr_T col, linenr_T lnume, long xtra
|
||||
|
||||
/* set the '. mark */
|
||||
if (!cmdmod.keepjumps) {
|
||||
curbuf->b_last_change.lnum = lnum;
|
||||
curbuf->b_last_change.col = col;
|
||||
RESET_FMARK(&curbuf->b_last_change, ((pos_T) {lnum, col, 0}), 0);
|
||||
|
||||
/* Create a new entry if a new undo-able change was started or we
|
||||
* don't have an entry yet. */
|
||||
@@ -2095,7 +2094,7 @@ static void changed_common(linenr_T lnum, colnr_T col, linenr_T lnume, long xtra
|
||||
}
|
||||
}
|
||||
curbuf->b_changelist[curbuf->b_changelistlen - 1] =
|
||||
curbuf->b_last_change;
|
||||
curbuf->b_last_change.mark;
|
||||
/* The current window is always after the last change, so that "g,"
|
||||
* takes you back to it. */
|
||||
curwin->w_changelistidx = curbuf->b_changelistlen;
|
||||
|
Reference in New Issue
Block a user