aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/lua/vim/_options.lua11
-rw-r--r--test/functional/lua/vim_spec.lua10
2 files changed, 15 insertions, 6 deletions
diff --git a/runtime/lua/vim/_options.lua b/runtime/lua/vim/_options.lua
index 4a360c18e4..a61fa61256 100644
--- a/runtime/lua/vim/_options.lua
+++ b/runtime/lua/vim/_options.lua
@@ -174,6 +174,11 @@ local function new_buf_opt_accessor(bufnr)
end
local function new_win_opt_accessor(winid, bufnr)
+ -- TODO(lewis6991): allow passing both buf and win to nvim_get_option_value
+ if bufnr ~= nil and bufnr ~= 0 then
+ error('only bufnr=0 is supported')
+ end
+
return setmetatable({}, {
__index = function(_, k)
if bufnr == nil and type(k) == 'number' then
@@ -184,11 +189,6 @@ local function new_win_opt_accessor(winid, bufnr)
end
end
- if bufnr ~= nil and bufnr ~= 0 then
- error('only bufnr=0 is supported')
- end
-
- -- TODO(lewis6991): allow passing both buf and win to nvim_get_option_value
return api.nvim_get_option_value(k, {
scope = bufnr and 'local' or nil,
win = winid or 0,
@@ -196,7 +196,6 @@ local function new_win_opt_accessor(winid, bufnr)
end,
__newindex = function(_, k, v)
- -- TODO(lewis6991): allow passing both buf and win to nvim_set_option_value
return api.nvim_set_option_value(k, v, {
scope = bufnr and 'local' or nil,
win = winid or 0,
diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua
index d50b646085..0814f42545 100644
--- a/test/functional/lua/vim_spec.lua
+++ b/test/functional/lua/vim_spec.lua
@@ -2023,6 +2023,16 @@ describe('lua stdlib', function()
vim.cmd "enew"
]]
eq(100, fn.luaeval 'vim.wo.scrolloff')
+
+ matches(
+ 'only bufnr=0 is supported',
+ pcall_err(exec_lua, 'vim.wo[0][10].signcolumn = "no"')
+ )
+
+ matches(
+ 'only bufnr=0 is supported',
+ pcall_err(exec_lua, 'local a = vim.wo[0][10].signcolumn')
+ )
end)
describe('vim.opt', function()