From 50a456c189a6ea68f7681c95fe5cfa9c968e4fc6 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Mon, 2 Jan 2023 11:26:40 +0100 Subject: [PATCH] feat(util): added trackfn that wraps a function and tracks timings --- lua/lazy/core/util.lua | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lua/lazy/core/util.lua b/lua/lazy/core/util.lua index cd16edd5..b6996f29 100644 --- a/lua/lazy/core/util.lua +++ b/lua/lazy/core/util.lua @@ -28,6 +28,22 @@ function M.track(data, time) end end +---@generic F: fun() +---@param data (string|{[string]:string})? +---@param fn F +---@return F +function M.trackfn(data, fn) + return function(...) + M.track(data) + local ok, ret = pcall(fn, ...) + M.track() + if not ok then + error(ret) + end + return ret + end +end + ---@param name string ---@return string function M.normname(name) @@ -127,7 +143,7 @@ function M.very_lazy() local function _load() vim.defer_fn(function() vim.cmd("do User VeryLazy") - end, 100) + end, 50) end vim.api.nvim_create_autocmd("User", {