aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lua/vim.lua
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2019-01-14 02:05:56 +0100
committerJustin M. Keyes <justinkz@gmail.com>2019-01-14 02:22:16 +0100
commit6c02ff474732dcc6ae5cf103c79298c9602fd116 (patch)
tree27ec5fcc3c890ff39d9318fd332320e59bc72bf3 /src/nvim/lua/vim.lua
parentbb3aa824b7c6aedb9019978338fa960d307aa883 (diff)
downloadrneovim-6c02ff474732dcc6ae5cf103c79298c9602fd116.tar.gz
rneovim-6c02ff474732dcc6ae5cf103c79298c9602fd116.tar.bz2
rneovim-6c02ff474732dcc6ae5cf103c79298c9602fd116.zip
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
Diffstat (limited to 'src/nvim/lua/vim.lua')
-rw-r--r--src/nvim/lua/vim.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/lua/vim.lua b/src/nvim/lua/vim.lua
index 9297af27c4..df75cc4ade 100644
--- a/src/nvim/lua/vim.lua
+++ b/src/nvim/lua/vim.lua
@@ -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