mirror of
https://github.com/neovim/neovim.git
synced 2025-10-21 09:12:07 +00:00
refactor(options): deprecate nvim[_buf|_win]_[gs]et_option
Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: famiu <famiuhaque@protonmail.com>
This commit is contained in:

committed by
Famiu Haque

parent
e3e6fadfd8
commit
1fe1bb084d
@@ -1051,7 +1051,7 @@ describe('API', function()
|
||||
line 3
|
||||
]])
|
||||
eq({0,4,1,0}, funcs.getpos('.')) -- Cursor follows the paste.
|
||||
eq(false, nvim('get_option', 'paste'))
|
||||
eq(false, nvim('get_option_value', 'paste', {}))
|
||||
command('%delete _')
|
||||
-- Without final "\n".
|
||||
nvim('paste', 'line 1\nline 2\nline 3', true, -1)
|
||||
@@ -1091,7 +1091,7 @@ describe('API', function()
|
||||
nvim('paste', 'line 1\r\n\r\rline 2\nline 3\rline 4\r', true, -1)
|
||||
expect('line 1\n\n\nline 2\nline 3\nline 4\n')
|
||||
eq({0,7,1,0}, funcs.getpos('.'))
|
||||
eq(false, nvim('get_option', 'paste'))
|
||||
eq(false, nvim('get_option_value', 'paste', {}))
|
||||
end)
|
||||
it('Replace-mode', function()
|
||||
-- Within single line
|
||||
@@ -1382,44 +1382,38 @@ describe('API', function()
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('nvim_get_option, nvim_set_option', function()
|
||||
describe('nvim_get_option_value, nvim_set_option_value', function()
|
||||
it('works', function()
|
||||
ok(nvim('get_option', 'equalalways'))
|
||||
nvim('set_option', 'equalalways', false)
|
||||
ok(not nvim('get_option', 'equalalways'))
|
||||
ok(nvim('get_option_value', 'equalalways', {}))
|
||||
nvim('set_option_value', 'equalalways', false, {})
|
||||
ok(not nvim('get_option_value', 'equalalways', {}))
|
||||
end)
|
||||
|
||||
it('works to get global value of local options', function()
|
||||
eq(false, nvim('get_option', 'lisp'))
|
||||
eq(8, nvim('get_option', 'shiftwidth'))
|
||||
eq(false, nvim('get_option_value', 'lisp', {}))
|
||||
eq(8, nvim('get_option_value', 'shiftwidth', {}))
|
||||
end)
|
||||
|
||||
it('works to set global value of local options', function()
|
||||
nvim('set_option', 'lisp', true)
|
||||
eq(true, nvim('get_option', 'lisp'))
|
||||
eq(false, helpers.curbuf('get_option', 'lisp'))
|
||||
nvim('set_option_value', 'lisp', true, {scope='global'})
|
||||
eq(true, nvim('get_option_value', 'lisp', {scope='global'}))
|
||||
eq(false, nvim('get_option_value', 'lisp', {buf=0}))
|
||||
eq(nil, nvim('command_output', 'setglobal lisp?'):match('nolisp'))
|
||||
eq('nolisp', nvim('command_output', 'setlocal lisp?'):match('nolisp'))
|
||||
nvim('set_option', 'shiftwidth', 20)
|
||||
nvim('set_option_value', 'shiftwidth', 20, {scope='global'})
|
||||
eq('20', nvim('command_output', 'setglobal shiftwidth?'):match('%d+'))
|
||||
eq('8', nvim('command_output', 'setlocal shiftwidth?'):match('%d+'))
|
||||
end)
|
||||
|
||||
it('most window-local options have no global value', function()
|
||||
local status, err = pcall(nvim, 'get_option', 'foldcolumn')
|
||||
eq(false, status)
|
||||
ok(err:match('Invalid option name') ~= nil)
|
||||
end)
|
||||
|
||||
it('updates where the option was last set from', function()
|
||||
nvim('set_option', 'equalalways', false)
|
||||
nvim('set_option_value', 'equalalways', false, {})
|
||||
local status, rv = pcall(nvim, 'command_output',
|
||||
'verbose set equalalways?')
|
||||
eq(true, status)
|
||||
ok(nil ~= string.find(rv, 'noequalalways\n'..
|
||||
'\tLast set from API client %(channel id %d+%)'))
|
||||
|
||||
nvim('exec_lua', 'vim.api.nvim_set_option("equalalways", true)', {})
|
||||
nvim('exec_lua', 'vim.api.nvim_set_option_value("equalalways", true, {})', {})
|
||||
status, rv = pcall(nvim, 'command_output',
|
||||
'verbose set equalalways?')
|
||||
eq(true, status)
|
||||
@@ -1499,7 +1493,6 @@ describe('API', function()
|
||||
end)
|
||||
|
||||
it('set window options', function()
|
||||
-- Same as to nvim_win_set_option
|
||||
nvim('set_option_value', 'colorcolumn', '4,3', {win=0})
|
||||
eq('4,3', nvim('get_option_value', 'colorcolumn', {scope = 'local'}))
|
||||
command("set modified hidden")
|
||||
@@ -1508,7 +1501,6 @@ describe('API', function()
|
||||
end)
|
||||
|
||||
it('set local window options', function()
|
||||
-- Different to nvim_win_set_option
|
||||
nvim('set_option_value', 'colorcolumn', '4,3', {win=0, scope='local'})
|
||||
eq('4,3', nvim('get_option_value', 'colorcolumn', {win = 0, scope = 'local'}))
|
||||
command("set modified hidden")
|
||||
@@ -1519,11 +1511,11 @@ describe('API', function()
|
||||
it('get buffer or window-local options', function()
|
||||
nvim('command', 'new')
|
||||
local buf = nvim('get_current_buf').id
|
||||
nvim('buf_set_option', buf, 'tagfunc', 'foobar')
|
||||
nvim('set_option_value', 'tagfunc', 'foobar', {buf=buf})
|
||||
eq('foobar', nvim('get_option_value', 'tagfunc', {buf = buf}))
|
||||
|
||||
local win = nvim('get_current_win').id
|
||||
nvim('win_set_option', win, 'number', true)
|
||||
nvim('set_option_value', 'number', true, {win=win})
|
||||
eq(true, nvim('get_option_value', 'number', {win = win}))
|
||||
end)
|
||||
|
||||
@@ -2215,7 +2207,7 @@ describe('API', function()
|
||||
it('stream=job :terminal channel', function()
|
||||
command(':terminal')
|
||||
eq({id=1}, meths.get_current_buf())
|
||||
eq(3, meths.buf_get_option(1, 'channel'))
|
||||
eq(3, meths.get_option_value('channel', {buf=1}))
|
||||
|
||||
local info = {
|
||||
stream='job',
|
||||
@@ -2368,45 +2360,45 @@ describe('API', function()
|
||||
end)
|
||||
|
||||
it('returns nothing with empty &runtimepath', function()
|
||||
meths.set_option('runtimepath', '')
|
||||
meths.set_option_value('runtimepath', '', {})
|
||||
eq({}, meths.list_runtime_paths())
|
||||
end)
|
||||
it('returns single runtimepath', function()
|
||||
meths.set_option('runtimepath', 'a')
|
||||
meths.set_option_value('runtimepath', 'a', {})
|
||||
eq({'a'}, meths.list_runtime_paths())
|
||||
end)
|
||||
it('returns two runtimepaths', function()
|
||||
meths.set_option('runtimepath', 'a,b')
|
||||
meths.set_option_value('runtimepath', 'a,b', {})
|
||||
eq({'a', 'b'}, meths.list_runtime_paths())
|
||||
end)
|
||||
it('returns empty strings when appropriate', function()
|
||||
meths.set_option('runtimepath', 'a,,b')
|
||||
meths.set_option_value('runtimepath', 'a,,b', {})
|
||||
eq({'a', '', 'b'}, meths.list_runtime_paths())
|
||||
meths.set_option('runtimepath', ',a,b')
|
||||
meths.set_option_value('runtimepath', ',a,b', {})
|
||||
eq({'', 'a', 'b'}, meths.list_runtime_paths())
|
||||
-- Trailing "," is ignored. Use ",," if you really really want CWD.
|
||||
meths.set_option('runtimepath', 'a,b,')
|
||||
meths.set_option_value('runtimepath', 'a,b,', {})
|
||||
eq({'a', 'b'}, meths.list_runtime_paths())
|
||||
meths.set_option('runtimepath', 'a,b,,')
|
||||
meths.set_option_value('runtimepath', 'a,b,,', {})
|
||||
eq({'a', 'b', ''}, meths.list_runtime_paths())
|
||||
end)
|
||||
it('truncates too long paths', function()
|
||||
local long_path = ('/a'):rep(8192)
|
||||
meths.set_option('runtimepath', long_path)
|
||||
meths.set_option_value('runtimepath', long_path, {})
|
||||
local paths_list = meths.list_runtime_paths()
|
||||
eq({}, paths_list)
|
||||
end)
|
||||
end)
|
||||
|
||||
it('can throw exceptions', function()
|
||||
local status, err = pcall(nvim, 'get_option', 'invalid-option')
|
||||
local status, err = pcall(nvim, 'get_option_value', 'invalid-option', {})
|
||||
eq(false, status)
|
||||
ok(err:match('Invalid option name') ~= nil)
|
||||
ok(err:match("Invalid 'option': 'invalid%-option'") ~= nil)
|
||||
end)
|
||||
|
||||
it('does not truncate error message <1 MB #5984', function()
|
||||
local very_long_name = 'A'..('x'):rep(10000)..'Z'
|
||||
local status, err = pcall(nvim, 'get_option', very_long_name)
|
||||
local status, err = pcall(nvim, 'get_option_value', very_long_name, {})
|
||||
eq(false, status)
|
||||
eq(very_long_name, err:match('Ax+Z?'))
|
||||
end)
|
||||
@@ -2419,7 +2411,7 @@ describe('API', function()
|
||||
|
||||
describe('nvim_parse_expression', function()
|
||||
before_each(function()
|
||||
meths.set_option('isident', '')
|
||||
meths.set_option_value('isident', '', {})
|
||||
end)
|
||||
|
||||
local function simplify_east_api_node(line, east_api_node)
|
||||
@@ -2704,9 +2696,9 @@ describe('API', function()
|
||||
end)
|
||||
|
||||
it('can change buftype before visiting', function()
|
||||
meths.set_option("hidden", false)
|
||||
meths.set_option_value("hidden", false, {})
|
||||
eq({id=2}, meths.create_buf(true, false))
|
||||
meths.buf_set_option(2, "buftype", "nofile")
|
||||
meths.set_option_value("buftype", "nofile", {buf=2})
|
||||
meths.buf_set_lines(2, 0, -1, true, {"test text"})
|
||||
command("split | buffer 2")
|
||||
eq({id=2}, meths.get_current_buf())
|
||||
@@ -2749,10 +2741,10 @@ describe('API', function()
|
||||
local edited_buf = 2
|
||||
meths.buf_set_lines(edited_buf, 0, -1, true, {"some text"})
|
||||
for _,b in ipairs(scratch_bufs) do
|
||||
eq('nofile', meths.buf_get_option(b, 'buftype'))
|
||||
eq('hide', meths.buf_get_option(b, 'bufhidden'))
|
||||
eq(false, meths.buf_get_option(b, 'swapfile'))
|
||||
eq(false, meths.buf_get_option(b, 'modeline'))
|
||||
eq('nofile', meths.get_option_value('buftype', {buf=b}))
|
||||
eq('hide', meths.get_option_value('bufhidden', {buf=b}))
|
||||
eq(false, meths.get_option_value('swapfile', {buf=b}))
|
||||
eq(false, meths.get_option_value('modeline', {buf=b}))
|
||||
end
|
||||
|
||||
--
|
||||
@@ -2765,10 +2757,10 @@ describe('API', function()
|
||||
{1:~ }|
|
||||
|
|
||||
]])
|
||||
eq('nofile', meths.buf_get_option(edited_buf, 'buftype'))
|
||||
eq('hide', meths.buf_get_option(edited_buf, 'bufhidden'))
|
||||
eq(false, meths.buf_get_option(edited_buf, 'swapfile'))
|
||||
eq(false, meths.buf_get_option(edited_buf, 'modeline'))
|
||||
eq('nofile', meths.get_option_value('buftype', {buf=edited_buf}))
|
||||
eq('hide', meths.get_option_value('bufhidden', {buf=edited_buf}))
|
||||
eq(false, meths.get_option_value('swapfile', {buf=edited_buf}))
|
||||
eq(false, meths.get_option_value('modeline', {buf=edited_buf}))
|
||||
|
||||
-- Scratch buffer can be wiped without error.
|
||||
command('bwipe')
|
||||
@@ -2899,7 +2891,7 @@ describe('API', function()
|
||||
it('should have information about global options', function()
|
||||
-- precondition: the option was changed from its default
|
||||
-- in test setup.
|
||||
eq(false, meths.get_option'showcmd')
|
||||
eq(false, meths.get_option_value('showcmd', {}))
|
||||
|
||||
eq({
|
||||
allows_duplicates = true,
|
||||
|
Reference in New Issue
Block a user