aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lua/vim.lua
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2020-05-07 15:22:24 -0400
committerGitHub <noreply@github.com>2020-05-07 15:22:24 -0400
commit1407899c32018f1988936adfddc1dede73c559cb (patch)
tree3abbd2b9b80915eb0d785f224ef2b893b772b8fd /src/nvim/lua/vim.lua
parent7432b3ca4ca6a5f8389c79fd17f20de22fc8e54b (diff)
downloadrneovim-1407899c32018f1988936adfddc1dede73c559cb.tar.gz
rneovim-1407899c32018f1988936adfddc1dede73c559cb.tar.bz2
rneovim-1407899c32018f1988936adfddc1dede73c559cb.zip
lua: Add buffer, window and tab accessors (#12268)
* Add buffer, window and tab accessors * Fix deletion and add tests
Diffstat (limited to 'src/nvim/lua/vim.lua')
-rw-r--r--src/nvim/lua/vim.lua17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/nvim/lua/vim.lua b/src/nvim/lua/vim.lua
index fc337c5e7e..43a0a76b94 100644
--- a/src/nvim/lua/vim.lua
+++ b/src/nvim/lua/vim.lua
@@ -332,9 +332,26 @@ do
return pcall_ret(pcall(fn, ...))
end
end
+
+ vim.b = make_meta_accessor(
+ nil_wrap(function(v) return a.nvim_buf_get_var(0, v) end),
+ function(v, k) return a.nvim_buf_set_var(0, v, k) end,
+ function(v) return a.nvim_buf_del_var(0, v) end
+ )
+ vim.w = make_meta_accessor(
+ nil_wrap(function(v) return a.nvim_win_get_var(0, v) end),
+ function(v, k) return a.nvim_win_set_var(0, v, k) end,
+ function(v) return a.nvim_win_del_var(0, v) end
+ )
+ vim.t = make_meta_accessor(
+ nil_wrap(function(v) return a.nvim_tabpage_get_var(0, v) end),
+ function(v, k) return a.nvim_tabpage_set_var(0, v, k) end,
+ function(v) return a.nvim_tabpage_del_var(0, v) end
+ )
vim.g = make_meta_accessor(nil_wrap(a.nvim_get_var), a.nvim_set_var, a.nvim_del_var)
vim.v = make_meta_accessor(nil_wrap(a.nvim_get_vvar), a.nvim_set_vvar)
vim.o = make_meta_accessor(a.nvim_get_option, a.nvim_set_option)
+
local function getenv(k)
local v = vim.fn.getenv(k)
if v == vim.NIL then