Feature suggestion debugger.lua integration?
- Dominant language
- No language data
- Stars
- 307
- Forks
- 68
- PR merge metrics
- No merged PRs in 30d
Description
I've been puttering around with making a bunch of scripts to help automate making graphics for my NES games, which has been working out really well. The biggest issue I've run into is that debugging the scripts is really tedious without a debugger, and lua's minimal amount of built in "to string" capabilities makes log based debugging tedious too.
So... a shameless plug for a project I've been working on for a few years:
https://github.com/slembcke/debugger.lua
Why you might want to consider integrating it:
* Can be included as a single .lua file or .c file (that embeds the lua source and provides a C API).
* Minimal bloat. The debugger is < 20kb of pure Lua code, no external dependencies.
* Provides `dbg.call()`/`dbg_call()` to provide a drop in replacements for `pcall()`/`lua_pcall()` that attach the debugger on an error.
* Retargetable I/O (see more below)
* Zero overhead when the REPL is not active.
* Simple but effective debugger with step/next/continue, variables listing, statement/expression evaluation, backtrace, code inspection, and more.
* Could be used like a REPL to experiment with the Asesprite API more easily.
I had tried using it before, but the lack of `require()`, and `io.read()` seemed to make it a non-starter. Since debugger.lua has retargetable I/O by overriding it's `read()` and `write()` functions, it occurred to me today that I could just use UNIX FIFOs to connect the I/O to a terminal. Voila! So apparently the I/O issue is the only thing holding it back.

I'll probably try integrating it myself, but I dunno how far I'll be able to get...
Contributor guide
No contributing guide indexed for this repository
Research direction
The request centers on integrating debugger.lua with the Aseprite scripting environment; begin by reviewing debugger.lua’s require(), io.read(), and retargetable I/O constraints alongside the repository’s scripting entry points. Define the supported integration path and verify that a script can enter the debugger, inspect state, and continue without overhead when the REPL is inactive.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100