-
chore: release 0.2.0
released this
2026-04-12 20:00:59 -06:00 | 4 commits to main since this releaseMajor UI rework and stability release. Two floating chrome bars replace the
old single toolbar, every resize/tabline-toggle edge case is handled, and
every highlight now derives from the user's colorscheme.BREAKING CHANGES
quit_exits_modeoption removed —qis now context-aware: if a DAP
session is running,qterminates the session but keeps debug mode
active so you can read the Console / inspect post-mortem state. Press
qagain to exit debug mode.help_on_enterdefault is nowfalse(wastrue). Control bar always
shows(?) help, so the auto-popup is no longer needed.- Default layout changed: sidebar is Call Stack → Scopes → Watches →
Breakpoints (all 25%). REPL is no longer in the default layout — press
Eduring debug mode to open it as a floating window. - Console pane sizing: bottom Console is
max(8 rows, 20% of editor lines)(previously hardcoded). Configurable viaconsole_height.
ADDED
- Two-bar floating chrome, independent of any statusline plugin:
status bar (top, 2 rows, brand + live dap.status text + state chip),
control bar (bottom, 2 rows, clickable flow buttons +(?) help
right-anchored). Italic qualifiers on step controls auto-drop at
narrow widths. - Keymap-aware control bar — legend reflects user's actual remapped
keys; disabled actions are omitted entirely. - IP arrow markers on stopped lines: 👉 gutter sign (priority 500) +
👈 REASON virtual text at EOL. - Optional debug-mode colorscheme via
colorschemeoption. - Theme-agnostic separator color (derives from WinBar.fg); global
WinSeparator override during debug mode for consistent edge color. clear_console_on_start(default true) — wipe Console scrollback on
session start while preserving the terminal channel.collapsed_scopes(default {"Registers"}) — auto-collapse noisy
scopes that adapters don't flag expensive.max_value_width(default 2000) — per-line truncation for values in
Scopes/Watches.console_refresh_ms(default 50) — trailing-edge Console repaint
throttle.sidebaroption — "left" (default) or "right".active_window_highlight(default true) — dim inactive dapui pane
borders.WandKnow work in visual mode (operate on the selection).- Source window focused before DAP jumps on event_stopped.
CHANGED
- Bars are real splits (not overlapping floats).
- pin_dapui_sizes() only re-pins on external geometry changes (tabline
toggle); user manual pane drags survive. - ensure_dapui() runs ONCE per plugin lifetime, avoiding "Debug adapter
didn't respond" timeouts on toggle. - Bars clamp to exactly 2 rows on every resize (no stray EOB
~). - setup() is fully idempotent; plugin/turbo-debug.lua's deferred
auto-setup yields to explicit user setup({...}). - Copyright holder: Stephen Waits steve@waits.net.
FIXED
- Bars recreate if killed by shrink-below-minimum resize or tabline
appear/disappear. - Inherited winbar cleared on bar windows (no phantom separator rows).
- Layout re-asserts after
wincmd =. - Sidebar proportions stable across re-entry.
- Bar separators bright on both outward edges.
- Deferred dependency loading waits for vim.pack.add to finalize.
INTERNAL
- Extracted 10+ helper functions in mode.lua; deduped ~25 call sites.
- Data-driven sign definitions and Python interpreter probing.
- Dead code removed: unused reposition_bars, vestigial sbar_zones/
handle_sbar_click. - Added regression tests: test_render_bars, test_highlights_cs,
test_helpers. - stylua.toml added; all Lua code formatted.
See CHANGELOG.md for the full 0.2.0 entry.
Downloads