• v0.2.0 d062ac27ff

    chore: release 0.2.0

    swaits released this 2026-04-12 20:00:59 -06:00 | 4 commits to main since this release

    Major 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_mode option removed — q is now context-aware: if a DAP
      session is running, q terminates the session but keeps debug mode
      active so you can read the Console / inspect post-mortem state. Press
      q again to exit debug mode.
    • help_on_enter default is now false (was true). 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
      E during 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 via console_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 colorscheme option.
    • 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.
    • sidebar option — "left" (default) or "right".
    • active_window_highlight (default true) — dim inactive dapui pane
      borders.
    • W and K now 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