diff options
author | Phelipe Teles <39670535+phelipetls@users.noreply.github.com> | 2022-12-12 12:14:50 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-12 15:14:50 +0000 |
commit | 8b9bf3e3b997f033dcf73d506cceb12231501a22 (patch) | |
tree | 3081f444f97f87dc3266e6b24209a7dc2d35b835 | |
parent | 3217a31f9b0eb93a9c4d01f6a15b9a104e4f56f3 (diff) | |
download | rneovim-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.lua | 2 | ||||
-rw-r--r-- | test/functional/lua/vim_spec.lua | 16 |
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>')" |