mirror of
https://github.com/neovim/neovim.git
synced 2025-09-05 19:08:15 +00:00
feat(shada): don't store jumplist if '0 in 'shada'
This commit is contained in:
@@ -5187,8 +5187,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
' Maximum number of previously edited files for which the marks
|
||||
are remembered. This parameter must always be included when
|
||||
'shada' is non-empty.
|
||||
Including this item also means that the |jumplist| and the
|
||||
|changelist| are stored in the shada file.
|
||||
If non-zero, then the |jumplist| and the |changelist| are also
|
||||
stored in the shada file.
|
||||
*shada-/*
|
||||
/ Maximum number of items in the search pattern history to be
|
||||
saved. If non-zero, then the previous search and substitute
|
||||
|
4
runtime/lua/vim/_meta/options.lua
generated
4
runtime/lua/vim/_meta/options.lua
generated
@@ -5441,8 +5441,8 @@ vim.go.ssop = vim.go.sessionoptions
|
||||
--- ' Maximum number of previously edited files for which the marks
|
||||
--- are remembered. This parameter must always be included when
|
||||
--- 'shada' is non-empty.
|
||||
--- Including this item also means that the `jumplist` and the
|
||||
--- `changelist` are stored in the shada file.
|
||||
--- If non-zero, then the `jumplist` and the `changelist` are also
|
||||
--- stored in the shada file.
|
||||
--- *shada-/*
|
||||
--- / Maximum number of items in the search pattern history to be
|
||||
--- saved. If non-zero, then the previous search and substitute
|
||||
|
@@ -7296,8 +7296,8 @@ local options = {
|
||||
' Maximum number of previously edited files for which the marks
|
||||
are remembered. This parameter must always be included when
|
||||
'shada' is non-empty.
|
||||
Including this item also means that the |jumplist| and the
|
||||
|changelist| are stored in the shada file.
|
||||
If non-zero, then the |jumplist| and the |changelist| are also
|
||||
stored in the shada file.
|
||||
*shada-/*
|
||||
/ Maximum number of items in the search pattern history to be
|
||||
saved. If non-zero, then the previous search and substitute
|
||||
|
@@ -2396,8 +2396,10 @@ static ShaDaWriteResult shada_write(FileDescriptor *const sd_writer,
|
||||
} while (var_iter != NULL);
|
||||
}
|
||||
|
||||
// Initialize jump list
|
||||
wms->jumps_size = shada_init_jumps(wms->jumps, &removable_bufs);
|
||||
if (num_marked_files > 0) { // Skip if '0 in 'shada'
|
||||
// Initialize jump list
|
||||
wms->jumps_size = shada_init_jumps(wms->jumps, &removable_bufs);
|
||||
}
|
||||
|
||||
const bool search_highlighted = !(no_hlsearch
|
||||
|| find_shada_parameter('h') != NULL);
|
||||
|
@@ -152,6 +152,37 @@ describe('ShaDa support code', function()
|
||||
eq(saved, exec_capture('jumps'))
|
||||
end)
|
||||
|
||||
it("does not dump jumplist if `'0` in shada", function()
|
||||
local empty_jumps = exec_capture('jumps')
|
||||
nvim_command("set shada='0")
|
||||
nvim_command('edit ' .. testfilename_2)
|
||||
nvim_command('normal! G')
|
||||
nvim_command('normal! gg')
|
||||
nvim_command('edit ' .. testfilename)
|
||||
nvim_command('normal! G')
|
||||
nvim_command('normal! gg')
|
||||
nvim_command('enew')
|
||||
nvim_command('normal! gg')
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset()
|
||||
eq(empty_jumps, exec_capture('jumps'))
|
||||
end)
|
||||
|
||||
it("does read back jumplist even with `'0` in shada", function()
|
||||
nvim_command('edit ' .. testfilename_2)
|
||||
nvim_command('normal! G')
|
||||
nvim_command('normal! gg')
|
||||
nvim_command('edit ' .. testfilename)
|
||||
nvim_command('normal! G')
|
||||
nvim_command('normal! gg')
|
||||
nvim_command('enew')
|
||||
nvim_command('normal! gg')
|
||||
local saved = exec_capture('jumps')
|
||||
expect_exit(nvim_command, 'qall')
|
||||
reset("set shada='0")
|
||||
eq(saved, exec_capture('jumps'))
|
||||
end)
|
||||
|
||||
it('when dumping jump list also dumps current position', function()
|
||||
nvim_command('edit ' .. testfilename)
|
||||
nvim_command('normal! G')
|
||||
|
Reference in New Issue
Block a user