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
local ok, err = pcall(load_cond, l)
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)
end
end

View File

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

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")
)
-- 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)