Software /
code /
prosody
Annotate
tools/tb2err @ 13182:c48ae06e24d6
util.datamanager: Fix indexing first item if not at the very start
If the first item does not start at position 0 then the index function
produces a phantom first entry covering position zero until where the
real first item starts. When using the index, this would make it either
appear as the first item was missing or cause an off-by-one issue with
remaining items.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 10 Jul 2023 17:19:05 +0200 |
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 |