45 lines
831 B
Lua
45 lines
831 B
Lua
local Logger = {}
|
|
Logger.__index = Logger
|
|
|
|
local title = 'CosmicNvim'
|
|
|
|
Logger = {}
|
|
Logger.__index = Logger
|
|
|
|
local function log(type, msg, opts)
|
|
local ok, notify = pcall(require, 'notify')
|
|
if ok then
|
|
notify(
|
|
msg,
|
|
type,
|
|
vim.tbl_deep_extend('force', {
|
|
title = title,
|
|
}, opts)
|
|
)
|
|
else
|
|
if vim.tbl_islist(msg) then
|
|
-- regular vim.notify can't take tables of strings
|
|
local tmp_list = msg
|
|
msg = ''
|
|
for _, v in pairs(tmp_list) do
|
|
msg = msg .. v
|
|
end
|
|
end
|
|
|
|
vim.notify(msg, type)
|
|
end
|
|
end
|
|
|
|
function Logger:log(msg, opts)
|
|
log(vim.log.levels.INFO, msg, opts or {})
|
|
end
|
|
|
|
function Logger:warn(msg, opts)
|
|
log(vim.log.levels.WARN, msg, opts or {})
|
|
end
|
|
|
|
function Logger:error(msg, opts)
|
|
log(vim.log.levels.ERROR, msg, opts or {})
|
|
end
|
|
|
|
return Logger
|