harpoon/lua/harpoon/dev.lua
ThePrimeagen 6e56ab4150 feat(logging): Enhanced the logging
Made a key appear on all the logs so its easy to read each sessions data
instead of one big ass-file
2021-05-06 13:22:56 -06:00

49 lines
1.1 KiB
Lua

-- Don't include this file, we should manually include it via
-- require("harpoon.dev").reload();
--
-- A quick mapping can be setup using something like:
-- :nmap <leader>rr :lua require("harpoon.dev").reload()<CR>
local M = {}
M.reload = function()
require("plenary.reload").reload_module("harpoon")
end
local log_levels = { "trace", "debug", "info", "warn", "error", "fatal" }
local function set_log_level()
local log_level = vim.env.HARPOON_LOG or vim.g.harpoon_log_level
for _, level in pairs(log_levels) do
if level == log_level then
return log_level
end
end
return "warn" -- default, if user hasn't set to one from log_levels
end
local log_level = set_log_level()
M.log = require("plenary.log").new({
plugin = "harpoon",
level = log_level,
})
local log_key = os.time()
local function override(key)
local fn = M.log[key]
M.log[key] = function(...)
fn(log_key, ...)
end
end
for _, v in pairs(log_levels) do
override(v)
end
M.get_log_key = function()
return log_key
end
return M