diff tools/linedebug.lua @ 11200:bf8f2da84007

Merge 0.11->trunk
author Kim Alvefur <zash@zash.se>
date Thu, 05 Nov 2020 22:31:25 +0100
parents 5850d24a4ad3
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/linedebug.lua	Thu Nov 05 22:31:25 2020 +0100
@@ -0,0 +1,18 @@
+local data = {}
+local getinfo = debug.getinfo;
+local function linehook(ev, li)
+	local S = getinfo(2, "S");
+	if S and S.source and S.source:match"^@" then
+		local file = S.source:sub(2);
+		local lines = data[file];
+		if not lines then
+			lines = {};
+			data[file] = lines;
+			for line in io.lines(file) do
+				lines[#lines+1] = line;
+			end
+		end
+		io.stderr:write(ev, " ", file, " ", li, " ", lines[li], "\n");
+	end
+end
+debug.sethook(linehook, "l");