diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2021-10-19 22:21:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-19 22:21:31 +0200 |
commit | 208d259e83c47a9c6d2ef66f2cb15281aacda563 (patch) | |
tree | a69c956d14df7a0e3225e33d1351bbd938cd622b /src | |
parent | dfef90a518005a6ace8b363fe1df89dd8ec3c4ce (diff) | |
parent | 6c5e7bde9a1b207345787a60f6c37a325be26c64 (diff) | |
download | rneovim-208d259e83c47a9c6d2ef66f2cb15281aacda563.tar.gz rneovim-208d259e83c47a9c6d2ef66f2cb15281aacda563.tar.bz2 rneovim-208d259e83c47a9c6d2ef66f2cb15281aacda563.zip |
Merge pull request #15767 from lewis6991/lua_var_index
feat(lua): allow passing handles to `vim.b/w/t`
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/lua/vim.lua | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/nvim/lua/vim.lua b/src/nvim/lua/vim.lua index 51b7430957..30c7034209 100644 --- a/src/nvim/lua/vim.lua +++ b/src/nvim/lua/vim.lua @@ -323,22 +323,25 @@ end do local validate = vim.validate - local function make_dict_accessor(scope) + local function make_dict_accessor(scope, handle) validate { scope = {scope, 's'}; } local mt = {} function mt:__newindex(k, v) - return vim._setvar(scope, 0, k, v) + return vim._setvar(scope, handle or 0, k, v) end function mt:__index(k) - return vim._getvar(scope, 0, k) + if handle == nil and type(k) == 'number' then + return make_dict_accessor(scope, k) + end + return vim._getvar(scope, handle or 0, k) end return setmetatable({}, mt) end - vim.g = make_dict_accessor('g') - vim.v = make_dict_accessor('v') + vim.g = make_dict_accessor('g', false) + vim.v = make_dict_accessor('v', false) vim.b = make_dict_accessor('b') vim.w = make_dict_accessor('w') vim.t = make_dict_accessor('t') |