mirror of
https://github.com/neovim/neovim.git
synced 2026-08-27 09:31:47 +00:00
lua/stdlib: Load runtime modules on-demand
Instead of eager-loading during plugin/* sourcing, define runtime modules such as `vim.inspect` as lazy builtins. Otherwise non-builtin Lua modules such as `vim.inspect` would not be available during startup (init.vim, `-c`, `--cmd`, …). ref #6580 ref #8677
This commit is contained in:
@@ -152,6 +152,14 @@ local function gsplit(s, sep, plain)
|
||||
end
|
||||
end
|
||||
|
||||
local inspect = (function()
|
||||
local f
|
||||
return function(...)
|
||||
if f == nil then f = require('vim.inspect') end
|
||||
return f(...)
|
||||
end
|
||||
end)()
|
||||
|
||||
local function split(s,sep,plain)
|
||||
local t={} for c in gsplit(s, sep, plain) do table.insert(t,c) end
|
||||
return t
|
||||
@@ -196,6 +204,7 @@ local module = {
|
||||
split = split,
|
||||
gsplit = gsplit,
|
||||
deepcopy = deepcopy,
|
||||
inspect = inspect,
|
||||
}
|
||||
|
||||
return module
|
||||
|
||||
Reference in New Issue
Block a user