Compare commits

...

2 Commits

3 changed files with 32 additions and 11 deletions

View File

@ -308,7 +308,7 @@ function package:ensureadded(force)
if load_cond ~= true then if load_cond ~= true then
local ok, err = pcall(load_cond, l) local ok, err = pcall(load_cond, l)
if not ok then if not ok then
logger:log("lazy", "failed to register load conditions for '%s': %s", logger:log("error", "failed to register lazy load conditions for '%s': %s",
self.name, err) self.name, err)
end end
end end

View File

@ -20,16 +20,29 @@ end
---@param log_line string log line ---@param log_line string log line
---@return chunk[] chunks ---@return chunk[] chunks
function format.log_line(log_line) function format.log_line(log_line)
local log_time = string.sub( log_line, string.find(log_line, "%[") + 1, -- make sure we don't do operations on nil values
string.find(log_line, "%]") - 1) if not log_line or log_line == "" then
local colon = string.find(log_line, ":", 11) return {}
local log_path = string.sub(log_line, string.find(log_line, "%]") + 2, end
colon - 1)
local log_path_ln = string.sub(log_line, colon + 1, -- error on any nil values, this should prevent us from parsing an incorrectly
string.find(log_line, ":", colon + 1) - 1) -- formatted log line
local level = string.sub(log_line, string.find(log_line, "%(") + 1, local log_time, colon, log_path, log_path_ln, level, rest
string.find(log_line, "%)") - 1) local ok = pcall(function()
local rest = string.sub(log_line, string.find(log_line, "%)") + 2) log_time = string.sub(log_line, string.find(log_line, "%[") + 1,
string.find(log_line, "%]") - 1)
colon = string.find(log_line, ":", 11)
log_path = string.sub(log_line, string.find(log_line, "%]") + 2,
colon - 1)
log_path_ln = string.sub(log_line, colon + 1,
string.find(log_line, ":", colon + 1) - 1)
level = string.sub(log_line, string.find(log_line, "%(") + 1,
string.find(log_line, "%)") - 1)
rest = string.sub(log_line, string.find(log_line, "%)") + 2)
end)
if not ok then
return {}
end
return { return {
{ "[", "" }, { "[", "" },

View File

@ -17,6 +17,14 @@ describe("ui log formatting", function()
}, },
dep_ui_format.log_line("[11:22:33] file.lua:1:(vim) some fancy message") dep_ui_format.log_line("[11:22:33] file.lua:1:(vim) some fancy message")
) )
-- malformed log line
assert.same({},
dep_ui_format.log_line("11:22:33] file.lua:1:(vim) some fancy message"))
-- test nil values
assert.same({}, dep_ui_format.log_line(""))
assert.same({}, dep_ui_format.log_line(nil))
end) end)
end) end)