mirror of
https://github.com/neovim/neovim.git
synced 2026-01-20 04:01:15 +10:00
Merge pull request #13173 from tjdevries/tjdevries/option_info
api: add option metadata
This commit is contained in:
@@ -1921,4 +1921,79 @@ describe('API', function()
|
||||
eq({}, meths.get_runtime_file("foobarlang/", true))
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('nvim_get_all_options_info', function()
|
||||
it('should have key value pairs of option names', function()
|
||||
local options_info = meths.get_all_options_info()
|
||||
neq(nil, options_info.listchars)
|
||||
neq(nil, options_info.tabstop)
|
||||
|
||||
eq(meths.get_option_info'winhighlight', options_info.winhighlight)
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('nvim_get_option_info', function()
|
||||
it('should error for unknown options', function()
|
||||
eq("no such option: 'bogus'", pcall_err(meths.get_option_info, 'bogus'))
|
||||
end)
|
||||
|
||||
it('should return the same options for short and long name', function()
|
||||
eq(meths.get_option_info'winhl', meths.get_option_info'winhighlight')
|
||||
end)
|
||||
|
||||
it('should have information about window options', function()
|
||||
eq({
|
||||
commalist = false;
|
||||
default = "";
|
||||
flaglist = false;
|
||||
global_local = false;
|
||||
last_set_chan = 0;
|
||||
last_set_linenr = 0;
|
||||
last_set_sid = 0;
|
||||
name = "winhighlight";
|
||||
scope = "win";
|
||||
shortname = "winhl";
|
||||
type = "string";
|
||||
was_set = false;
|
||||
}, meths.get_option_info'winhl')
|
||||
end)
|
||||
|
||||
it('should have information about buffer options', function()
|
||||
eq({
|
||||
commalist = false,
|
||||
default = "",
|
||||
flaglist = false,
|
||||
global_local = false,
|
||||
last_set_chan = 0,
|
||||
last_set_linenr = 0,
|
||||
last_set_sid = 0,
|
||||
name = "filetype",
|
||||
scope = "buf",
|
||||
shortname = "ft",
|
||||
type = "string",
|
||||
was_set = false
|
||||
}, meths.get_option_info'filetype')
|
||||
end)
|
||||
|
||||
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({
|
||||
commalist = false,
|
||||
default = true,
|
||||
flaglist = false,
|
||||
global_local = false,
|
||||
last_set_chan = 0,
|
||||
last_set_linenr = 0,
|
||||
last_set_sid = -2,
|
||||
name = "showcmd",
|
||||
scope = "global",
|
||||
shortname = "sc",
|
||||
type = "boolean",
|
||||
was_set = true
|
||||
}, meths.get_option_info'showcmd')
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user