chore: release 0.1.0 — rename to turbo-debug.nvim

Rename from tiny-debugger to turbo-debug — inspired by Turbo Pascal,
the first IDE with a real visual debugger. This thing isn't tiny,
it's turbo charged.

CHANGELOG for 0.1.0:

Features:
- Zero-config debugging — one line install, everything works
- Modal keybindings (c/s/d/r/q/x/X/D/W/K/E/R/?), active only
  during debug mode, cleanly removed on exit
- Persistent breakpoints via persistent-breakpoints.nvim
- Inline virtual text — variable values in source code
- Hover (K), watch (W), REPL eval (E) from the code window
- Help splash (3s auto-dismiss) + manual help (?)
- Debug mode chrome — winbar indicator, cursor highlight
- dapui integration — controls toolbar, labeled panels
- which-key support — <leader>d debug group auto-registered
- quit_exits_mode option

Adapters (12 languages):
- Python (debugpy + venv detection)
- Rust (codelldb + cargo build + vim.ui.select picker)
- Go (delve), C/C++/Swift (codelldb)
- JavaScript/TypeScript (js-debug-adapter)
- C# (netcoredbg), Java, Kotlin, PHP, Ruby, Lua (osv)

Keybindings:
- <leader>dd — toggle debug mode
- <leader>dx / <leader>dX / <leader>dD — breakpoints (always)
- c s d r C x X D W K E q R ? — modal (debug mode only)
This commit is contained in:
swaits committed 2026-04-11 20:09:29 -06:00
1 parent d5331800b4
commit e9089b63a2
23 files changed
+197 -149

No files matched your search

@@ -1,4 +1,4 @@
local loader = require("tiny-debugger.adapters.init")
local loader = require("turbo-debug.adapters.init")
local M = {}
@@ -1,4 +1,4 @@
local loader = require("tiny-debugger.adapters.init")
local loader = require("turbo-debug.adapters.init")
local M = {}
@@ -1,4 +1,4 @@
local config = require("tiny-debugger.config")
local config = require("turbo-debug.config")
local M = {}
@@ -92,7 +92,7 @@ function M.setup()
-- load adapters with non-trivial logic from separate files
for _, name in ipairs({ "python", "go", "c", "javascript" }) do
local ok, adapter_mod = pcall(require, "tiny-debugger.adapters." .. name)
local ok, adapter_mod = pcall(require, "turbo-debug.adapters." .. name)
if ok and adapter_mod.register then
adapter_mod.register(dap)
end
@@ -1,4 +1,4 @@
local loader = require("tiny-debugger.adapters.init")
local loader = require("turbo-debug.adapters.init")
local M = {}
@@ -1,4 +1,4 @@
local loader = require("tiny-debugger.adapters.init")
local loader = require("turbo-debug.adapters.init")
local M = {}
@@ -1,4 +1,4 @@
local config = require("tiny-debugger.config")
local config = require("turbo-debug.config")
local M = {}
File renamed without changes.
@@ -1,4 +1,4 @@
local config = require("tiny-debugger.config")
local config = require("turbo-debug.config")
local M = {}
@@ -30,7 +30,7 @@ local global_info = {
}
local function build_content()
local lines = { " tiny-debugger", "" }
local lines = { " turbo-debug", "" }
local width = #lines[1]
local function add(key, label)
@@ -1,12 +1,12 @@
local config = require("tiny-debugger.config")
local mode = require("tiny-debugger.mode")
local config = require("turbo-debug.config")
local mode = require("turbo-debug.mode")
local M = {}
function M.setup(opts)
config.merge(opts)
require("tiny-debugger.breakpoints").setup()
require("tiny-debugger.adapters").setup()
require("turbo-debug.breakpoints").setup()
require("turbo-debug.adapters").setup()
-- global toggle keybinding
local toggle_key = config.opts.global_keys.toggle
@@ -1,5 +1,5 @@
local config = require("tiny-debugger.config")
local help = require("tiny-debugger.help")
local config = require("turbo-debug.config")
local help = require("turbo-debug.help")
local M = {}
@@ -20,10 +20,10 @@ local function ensure_dapui()
require("dapui").setup(config.opts.dapui)
local dap = require("dap")
dap.listeners.after.event_terminated["tiny-debugger"] = function()
dap.listeners.after.event_terminated["turbo-debug"] = function()
if active then M.exit() end
end
dap.listeners.after.event_exited["tiny-debugger"] = function()
dap.listeners.after.event_exited["turbo-debug"] = function()
if active then M.exit() end
end
@@ -139,9 +139,9 @@ local function set_keymaps(buf)
for name, key in pairs(keys) do
if key and actions[name] then
stash_mapping(buf, key)
vim.keymap.set("n", key, actions[name], { buffer = buf, silent = true, desc = "tiny-debugger: " .. name })
vim.keymap.set("n", key, actions[name], { buffer = buf, silent = true, desc = "turbo-debug: " .. name })
if visual_actions[name] then
vim.keymap.set("v", key, actions[name], { buffer = buf, silent = true, desc = "tiny-debugger: " .. name })
vim.keymap.set("v", key, actions[name], { buffer = buf, silent = true, desc = "turbo-debug: " .. name })
end
mapped_keys[#mapped_keys + 1] = { name = name, key = key }
end