file locations only now...
This commit is contained in:
@@ -8,11 +8,36 @@ vim.g.python3_host_prog = get_python_venv_path()
|
|||||||
|
|
||||||
-- POPULATE QFLIST ON ERROR {{{1
|
-- POPULATE QFLIST ON ERROR {{{1
|
||||||
do
|
do
|
||||||
local orig_traceback = debug.traceback
|
local function full_trace()
|
||||||
debug.traceback = function(...)
|
local lines = {}
|
||||||
local trace = orig_traceback(...)
|
|
||||||
|
local level = 2
|
||||||
|
while true do
|
||||||
|
local info = debug.getinfo(level, "Sln")
|
||||||
|
if not info then break end
|
||||||
|
|
||||||
|
local src = info.source or "?"
|
||||||
|
local file = src:gsub("^@", "") -- remove @ prefix
|
||||||
|
|
||||||
|
local line = string.format(
|
||||||
|
"%s:%d: in %s",
|
||||||
|
file,
|
||||||
|
info.currentline or 0,
|
||||||
|
info.name or "?"
|
||||||
|
)
|
||||||
|
|
||||||
|
table.insert(lines, line)
|
||||||
|
level = level + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
return table.concat(lines, "\n")
|
||||||
|
end
|
||||||
|
|
||||||
|
local orig = debug.traceback
|
||||||
|
|
||||||
|
debug.traceback = function(...)
|
||||||
|
local trace = full_trace()
|
||||||
|
|
||||||
-- push full trace to quickfix
|
|
||||||
vim.fn.setqflist({}, "a", {
|
vim.fn.setqflist({}, "a", {
|
||||||
title = "Traceback",
|
title = "Traceback",
|
||||||
lines = vim.split(trace, "\n"),
|
lines = vim.split(trace, "\n"),
|
||||||
|
|||||||
Reference in New Issue
Block a user