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