blob: f132993fe80360e23dbbeba64feb24e671968424 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
--[[Script to rewrite a stack traceback in terms of moonscript instead of lua]]
for data in io.lines() do
local filename, linenum, rest = data:gmatch("(.*%.lua):(%d+):(.*)")()
if filename and linenum and rest then
local _,_,stripped_filename = filename:find("(%S+)")
local moonfilename = filename:gsub(".lua$",".moon")
--If our file is not moonscript, we won't have a debug file
local debugfile = io.open("debug/" .. stripped_filename.. ".X")
if not debugfile then
print("not debugfile")
print(data)
goto next
end
--Skip first line
debugfile:read("*l")
for line in debugfile:lines() do
_,_,pos,lua,moon = line:find("(%d+)%s+(%d+):%b[] >> (%d+)")
if tonumber(linenum) == tonumber(lua) then
print(string.format("\t%s:%d: %s",moonfilename,moon,rest))
goto next
end
end
else
print(data)
end
::next::
end
|