diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2019-01-14 02:05:56 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2019-01-14 02:22:16 +0100 |
commit | 6c02ff474732dcc6ae5cf103c79298c9602fd116 (patch) | |
tree | 27ec5fcc3c890ff39d9318fd332320e59bc72bf3 /src/nvim/lua/vim.lua | |
parent | bb3aa824b7c6aedb9019978338fa960d307aa883 (diff) | |
download | rneovim-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.lua | 9 |
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 |