neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 8b9bf3e3b997f033dcf73d506cceb12231501a22
parent 3217a31f9b0eb93a9c4d01f6a15b9a104e4f56f3
Author: Phelipe Teles <39670535+phelipetls@users.noreply.github.com>
Date:   Mon, 12 Dec 2022 12:14:50 -0300

fix: vim.opt_local:append ignoring global option value (#21382)

Closes https://github.com/neovim/neovim/issues/18225
Diffstat:
Mruntime/lua/vim/_meta.lua | 2+-
Mtest/functional/lua/vim_spec.lua | 16++++++++++++++++
2 files changed, 17 insertions(+), 1 deletion(-)

diff --git 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 @@ -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>')"