aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhelipe Teles <39670535+phelipetls@users.noreply.github.com>2022-12-12 12:14:50 -0300
committerGitHub <noreply@github.com>2022-12-12 15:14:50 +0000
commit8b9bf3e3b997f033dcf73d506cceb12231501a22 (patch)
tree3081f444f97f87dc3266e6b24209a7dc2d35b835
parent3217a31f9b0eb93a9c4d01f6a15b9a104e4f56f3 (diff)
downloadrneovim-8b9bf3e3b997f033dcf73d506cceb12231501a22.tar.gz
rneovim-8b9bf3e3b997f033dcf73d506cceb12231501a22.tar.bz2
rneovim-8b9bf3e3b997f033dcf73d506cceb12231501a22.zip
fix: vim.opt_local:append ignoring global option value (#21382)
Closes https://github.com/neovim/neovim/issues/18225
-rw-r--r--runtime/lua/vim/_meta.lua2
-rw-r--r--test/functional/lua/vim_spec.lua16
2 files changed, 17 insertions, 1 deletions
diff --git a/runtime/lua/vim/_meta.lua b/runtime/lua/vim/_meta.lua
index 9c7972873e..104f29c4c0 100644
--- a/runtime/lua/vim/_meta.lua
+++ b/runtime/lua/vim/_meta.lua
@@ -526,7 +526,7 @@ local function create_option_accessor(scope)
return setmetatable({}, {
__index = function(_, k)
- return make_option(k, a.nvim_get_option_value(k, { scope = scope }))
+ return make_option(k, a.nvim_get_option_value(k, {}))
end,
__newindex = function(_, k, v)
diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua
index c74e88f55d..e390619a5a 100644
--- a/test/functional/lua/vim_spec.lua
+++ b/test/functional/lua/vim_spec.lua
@@ -2187,6 +2187,22 @@ describe('lua stdlib', function()
end)
end) -- vim.opt
+ describe('opt_local', function()
+ it('should be able to append to an array list type option', function()
+ eq({ "foo,bar,baz,qux" }, exec_lua [[
+ local result = {}
+
+ vim.opt.tags = "foo,bar"
+ vim.opt_local.tags:append("baz")
+ vim.opt_local.tags:append("qux")
+
+ table.insert(result, vim.bo.tags)
+
+ return result
+ ]])
+ end)
+ end)
+
it('vim.cmd', function()
exec_lua [[
vim.cmd "autocmd BufNew * ++once lua BUF = vim.fn.expand('<abuf>')"