From 6c02ff474732dcc6ae5cf103c79298c9602fd116 Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Mon, 14 Jan 2019 02:05:56 +0100 Subject: lua/stdlib: Load runtime modules on-demand MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/nvim/lua/vim.lua | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/nvim/lua') 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 -- cgit