prosody/tools/tb2err
2023-04-08 12:56:13 +02:00

24 lines
703 B
Lua
Executable file

#!/usr/bin/env lua
-- traceback to errors.err for vim -q
-- e.g. curl https://prosody.im/paste/xxx | tb2err > errors.err && vim -q
local path_sep = package.config:sub(1,1);
for line in io.lines() do
local src, err = line:match("%s*(%S+)(:%d+: .*)")
if src then
src = src:gsub("\\", path_sep);
local cut = src:match("/()core/")
or src:match("/()net/")
or src:match("/()util/")
or src:match("/()modules/")
or src:match("/()prosody%-modules/")
or src:match("/()plugins/")
or src:match("/()prosody[ctl]*$")
if cut then
src = src:sub(cut);
end
src = src:gsub("prosody%-modules/", "../modules/")
src = src:gsub("^modules/", "plugins/")
io.write(src, err, "\n");
end
end