diff --git a/lua/neodev/build/init.lua b/lua/neodev/build/init.lua index c735fdf1..b6a75e79 100644 --- a/lua/neodev/build/init.lua +++ b/lua/neodev/build/init.lua @@ -33,7 +33,11 @@ function M.override(fname) local override = Config.root("/types/override/" .. fname .. ".lua") if override then local code = Util.read_file(override) - local mod = dofile(override) or {} + local mod = {} + local mod_code = code:match("\n(return.*)") or code:match("^(return.*)") + if mod_code then + mod = load(mod_code)() + end code = code:gsub("\nreturn.*", "") code = code:gsub("^return.*", "") return mod, code diff --git a/types/override/api.lua b/types/override/api.lua new file mode 100644 index 00000000..1f6344cc --- /dev/null +++ b/types/override/api.lua @@ -0,0 +1,2 @@ +---@class vim.api +vim.api = {} diff --git a/types/override/luv.lua b/types/override/luv.lua index e4c633c5..d20f0b90 100644 --- a/types/override/luv.lua +++ b/types/override/luv.lua @@ -1,3 +1,6 @@ +---@class vim.loop +vim.loop = {} + ---@class vim.loop.Timer ---@field start fun(timer:vim.loop.Timer, timeout:integer, repeat:integer, callback:fun()) ---@field stop fun(timer:vim.loop.Timer)