summaryrefslogtreecommitdiffstatshomepage
path: root/runtime/lua/vim/_editor.lua
diff options
context:
space:
mode:
authorphanium <91544758+phanen@users.noreply.github.com>2025-12-23 23:39:22 +0800
committerGitHub <noreply@github.com>2025-12-23 10:39:22 -0500
commit1aa26f5d55550dd12c2cfd0f74618f0dcd6467ec (patch)
tree4ba0f4537d95f743f0291f6e9e5795e1b735f67d /runtime/lua/vim/_editor.lua
parentc374d7809572976c608c3042ce11f72e5d1c7fd4 (diff)
fix(lua): separate vim.{g,b,w,t} types #37081
Problem: When `vim.g.foo = 1`, `vim.b.foo` also appears as a completion candidate (when use emmylua_ls). Solution: Define separate types.
Diffstat (limited to 'runtime/lua/vim/_editor.lua')
-rw-r--r--runtime/lua/vim/_editor.lua13
1 files changed, 9 insertions, 4 deletions
diff --git a/runtime/lua/vim/_editor.lua b/runtime/lua/vim/_editor.lua
index d84f80de3f..ccc18d5cf4 100644
--- a/runtime/lua/vim/_editor.lua
+++ b/runtime/lua/vim/_editor.lua
@@ -410,6 +410,11 @@ vim.cmd = setmetatable({}, {
--- @field [string] any
--- @field [integer] vim.var_accessor
+--- @class (private) vim.g: { [string]: any }
+--- @class (private) vim.b: vim.var_accessor
+--- @class (private) vim.w: vim.var_accessor
+--- @class (private) vim.t: vim.var_accessor
+
-- These are the vim.env/v/g/o/bo/wo variable magic accessors.
do
--- @param scope string
@@ -430,11 +435,11 @@ do
return setmetatable({}, mt)
end
- vim.g = make_dict_accessor('g', false)
+ vim.g = make_dict_accessor('g', false) --[[@as vim.g]]
vim.v = make_dict_accessor('v', false) --[[@as vim.v]]
- vim.b = make_dict_accessor('b')
- vim.w = make_dict_accessor('w')
- vim.t = make_dict_accessor('t')
+ vim.b = make_dict_accessor('b') --[[@as vim.b]]
+ vim.w = make_dict_accessor('w') --[[@as vim.w]]
+ vim.t = make_dict_accessor('t') --[[@as vim.t]]
end
--- @deprecated