mirror of
https://github.com/neovim/neovim.git
synced 2025-12-07 23:22:39 +00:00
API: nvim_get_context: "opts" param
Since the parameter is already non-primitive, make it an `opts` map instead of just a list, in case we want to extend it later.
This commit is contained in:
@@ -894,9 +894,17 @@ describe('API', function()
|
||||
end)
|
||||
|
||||
describe('nvim_get_context', function()
|
||||
it('returns context dictionary of current editor state', function()
|
||||
local ctx_items = {'regs', 'jumps', 'buflist', 'gvars'}
|
||||
eq({}, parse_context(nvim('get_context', ctx_items)))
|
||||
it('validates args', function()
|
||||
eq('unexpected key: blah',
|
||||
pcall_err(nvim, 'get_context', {blah={}}))
|
||||
eq('invalid value for key: types',
|
||||
pcall_err(nvim, 'get_context', {types=42}))
|
||||
eq('unexpected type: zub',
|
||||
pcall_err(nvim, 'get_context', {types={'jumps', 'zub', 'zam',}}))
|
||||
end)
|
||||
it('returns map of current editor state', function()
|
||||
local opts = {types={'regs', 'jumps', 'buflist', 'gvars'}}
|
||||
eq({}, parse_context(nvim('get_context', {})))
|
||||
|
||||
feed('i1<cr>2<cr>3<c-[>ddddddqahjklquuu')
|
||||
feed('gg')
|
||||
@@ -928,19 +936,21 @@ describe('API', function()
|
||||
['gvars'] = {{'one', 1}, {'Two', 2}, {'THREE', 3}},
|
||||
}
|
||||
|
||||
eq(expected_ctx, parse_context(nvim('get_context', ctx_items)))
|
||||
eq(expected_ctx, parse_context(nvim('get_context', opts)))
|
||||
eq(expected_ctx, parse_context(nvim('get_context', {})))
|
||||
eq(expected_ctx, parse_context(nvim('get_context', {types={}})))
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('nvim_load_context', function()
|
||||
it('sets current editor state to given context dictionary', function()
|
||||
local ctx_items = {'regs', 'jumps', 'buflist', 'gvars'}
|
||||
eq({}, parse_context(nvim('get_context', ctx_items)))
|
||||
local opts = {types={'regs', 'jumps', 'buflist', 'gvars'}}
|
||||
eq({}, parse_context(nvim('get_context', opts)))
|
||||
|
||||
nvim('set_var', 'one', 1)
|
||||
nvim('set_var', 'Two', 2)
|
||||
nvim('set_var', 'THREE', 3)
|
||||
local ctx = nvim('get_context', ctx_items)
|
||||
local ctx = nvim('get_context', opts)
|
||||
nvim('set_var', 'one', 'a')
|
||||
nvim('set_var', 'Two', 'b')
|
||||
nvim('set_var', 'THREE', 'c')
|
||||
|
||||
Reference in New Issue
Block a user