diff options
| author | phanium <91544758+phanen@users.noreply.github.com> | 2025-12-23 23:39:22 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-23 10:39:22 -0500 |
| commit | 1aa26f5d55550dd12c2cfd0f74618f0dcd6467ec (patch) | |
| tree | 4ba0f4537d95f743f0291f6e9e5795e1b735f67d /runtime/lua/vim/_editor.lua | |
| parent | c374d7809572976c608c3042ce11f72e5d1c7fd4 (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.lua | 13 |
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 |
