Merge pull request #13173 from tjdevries/tjdevries/option_info

api: add option metadata
This commit is contained in:
Björn Linse
2020-12-04 13:45:32 +01:00
committed by GitHub
6 changed files with 247 additions and 14 deletions

View File

@@ -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)