diff options
Diffstat (limited to 'lua/inbox/utils.lua')
-rw-r--r-- | lua/inbox/utils.lua | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/lua/inbox/utils.lua b/lua/inbox/utils.lua index e9826c8..d1e627c 100644 --- a/lua/inbox/utils.lua +++ b/lua/inbox/utils.lua @@ -5,30 +5,30 @@ local M = {} ---@field [2] string hl ---@param msg string ----@param vars table<string, string> +---@param vars table<string, any>? ---@param level integer|nil function M.notify(msg, vars, level) - for name, value in pairs(vars) do - string.format("%s\n%s: %s", msg, name, value) + for name, value in pairs(vars or {}) do + string.format("%s\n%s: %s", msg, name, vim.inspect(value)) end vim.notify(msg, level, { title = "inbox.nvim" }) end ---@param msg string ----@param vars table<string, string> +---@param vars table<string, any>? function M.info(msg, vars) M.notify(msg, vars, vim.log.levels.INFO) end ---@param msg string ----@param vars table<string, string> +---@param vars table<string, any>? function M.warn(msg, vars) M.notify(msg, vars, vim.log.levels.WARN) end ---@param msg string ----@param vars table<string, string> +---@param vars table<string, any>? function M.error(msg, vars) M.notify(msg, vars, vim.log.levels.ERROR) end @@ -205,4 +205,15 @@ function M.stateful_iter(table, wrap) end end +---@param modname string +---@return any module +function M.try_require(modname) + local is_ok, result = pcall(require, modname) + if is_ok then + return result + else + error(string.format("Module not found: %s", modname)) + end +end + return M |