Software /
code /
prosody
Annotate
tools/tb2err @ 13745:994ea8d54b72 13.0
core.configmanager: Pass name and line number in context
Delays the string interpolation until the warning is logged, which may
slightly lower memory usage.
Allows retrieving the filename and line number easily.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 22 Feb 2025 00:04:51 +0100 |
parent | 13066:4aa4a51a7a77 |
rev | line source |
---|---|
13063
414952def2d3
tools/tb2err: Drop use of lua-any since it should run fine on any Lua
Kim Alvefur <zash@zash.se>
parents:
11191
diff
changeset
|
1 #!/usr/bin/env lua |
11191
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 -- traceback to errors.err for vim -q |
13064
b172db27ffed
tools/tb2err: Add some example usage in a comment
Kim Alvefur <zash@zash.se>
parents:
13063
diff
changeset
|
3 -- e.g. curl https://prosody.im/paste/xxx | tb2err > errors.err && vim -q |
b172db27ffed
tools/tb2err: Add some example usage in a comment
Kim Alvefur <zash@zash.se>
parents:
13063
diff
changeset
|
4 |
11191
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 local path_sep = package.config:sub(1,1); |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 for line in io.lines() do |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 local src, err = line:match("%s*(%S+)(:%d+: .*)") |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 if src then |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 src = src:gsub("\\", path_sep); |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 local cut = src:match("/()core/") |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 or src:match("/()net/") |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 or src:match("/()util/") |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 or src:match("/()modules/") |
13065
ab546c5977ed
tools/tb2err: Rewrite prosody-modules paths to ../modules
Kim Alvefur <zash@zash.se>
parents:
13064
diff
changeset
|
14 or src:match("/()prosody%-modules/") |
11191
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 or src:match("/()plugins/") |
13066
4aa4a51a7a77
tools/tb2err: Trim trailing whitespace
Kim Alvefur <zash@zash.se>
parents:
13065
diff
changeset
|
16 or src:match("/()prosody[ctl]*$") |
11191
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 if cut then |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 src = src:sub(cut); |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 end |
13065
ab546c5977ed
tools/tb2err: Rewrite prosody-modules paths to ../modules
Kim Alvefur <zash@zash.se>
parents:
13064
diff
changeset
|
20 src = src:gsub("prosody%-modules/", "../modules/") |
11191
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 src = src:gsub("^modules/", "plugins/") |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 io.write(src, err, "\n"); |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 end |
13e2ac7b5798
tools/tb2err: Formats Lua traceback in errors.err format
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 end |