aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/lsp.txt3
-rw-r--r--runtime/lua/vim/_meta/builtin.lua9
-rw-r--r--runtime/lua/vim/_meta/vvars.lua2
-rw-r--r--runtime/lua/vim/lsp/util.lua2
-rw-r--r--src/nvim/vvars.lua1
5 files changed, 13 insertions, 4 deletions
diff --git a/runtime/doc/lsp.txt b/runtime/doc/lsp.txt
index 427cd40761..9de30f1e8a 100644
--- a/runtime/doc/lsp.txt
+++ b/runtime/doc/lsp.txt
@@ -1829,7 +1829,8 @@ lookup_section({settings}, {section}) *vim.lsp.util.lookup_section()*
• {section} (`string`) indicating the field of the settings table
Return: ~
- (`table|string`) The value of settings accessed via section
+ (`table|string|vim.NIL`) The value of settings accessed via section.
+ `vim.NIL` if not found.
*vim.lsp.util.make_floating_popup_options()*
make_floating_popup_options({width}, {height}, {opts})
diff --git a/runtime/lua/vim/_meta/builtin.lua b/runtime/lua/vim/_meta/builtin.lua
index eeba356672..dd849e5247 100644
--- a/runtime/lua/vim/_meta/builtin.lua
+++ b/runtime/lua/vim/_meta/builtin.lua
@@ -1,7 +1,8 @@
---@meta
-
-- luacheck: no unused args
+error('Cannot require a meta file')
+
---@defgroup vim.builtin
---
---@brief <pre>help
@@ -62,6 +63,12 @@
---
---</pre>
+---@class vim.NIL
+
+---@type vim.NIL
+---@nodoc
+vim.NIL = ...
+
--- Returns true if the code is executing as part of a "fast" event handler,
--- where most of the API is disabled. These are low-level events (e.g.
--- |lua-loop-callbacks|) which can be invoked whenever Nvim polls for input.
diff --git a/runtime/lua/vim/_meta/vvars.lua b/runtime/lua/vim/_meta/vvars.lua
index ca87fb9d15..958b4a7ccd 100644
--- a/runtime/lua/vim/_meta/vvars.lua
+++ b/runtime/lua/vim/_meta/vvars.lua
@@ -427,7 +427,7 @@ vim.v.msgpack_types = ...
--- In some places `v:null` can be used for a List, Dict, etc.
--- that is not set. That is slightly different than an empty
--- List, Dict, etc.
---- @type any
+--- @type vim.NIL
vim.v.null = ...
--- Maximum value of a number.
diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua
index a2cc81781a..50890e37ce 100644
--- a/runtime/lua/vim/lsp/util.lua
+++ b/runtime/lua/vim/lsp/util.lua
@@ -2139,7 +2139,7 @@ end
---
---@param settings table language server settings
---@param section string indicating the field of the settings table
----@return table|string The value of settings accessed via section
+---@return table|string|vim.NIL The value of settings accessed via section. `vim.NIL` if not found.
function M.lookup_section(settings, section)
for part in vim.gsplit(section, '.', { plain = true }) do
settings = settings[part]
diff --git a/src/nvim/vvars.lua b/src/nvim/vvars.lua
index 6410df1a57..d6d6c85e97 100644
--- a/src/nvim/vvars.lua
+++ b/src/nvim/vvars.lua
@@ -469,6 +469,7 @@ M.vars = {
]=],
},
null = {
+ type = 'vim.NIL',
desc = [=[
Special value used to put "null" in JSON and NIL in msgpack.
See |json_encode()|. This value is converted to "v:null" when