Control bar refinements:
- All-emoji icons, supplementary plane only (plus ♻️ with VS16 per user
preference). Dropped Nerd Font Codicons — they rendered as unrelated
glyphs in the user's font (debug-start as a gear, step-into arrow
backwards, etc.). Replaced set:
🚀 start / 🟢 continue (dynamic), 👣 step over, 🔽 descend,
🔼 return, ♻️ restart, 🛑 quit/terminate, 💡 help.
- Modal label text — the tail after the (key) updates based on dap state:
no session: "(c) start" / "(q)uit"
active: "(c)ontinue" / "(q) terminate"
So the label always shows what pressing the key will actually do.
- Help icon switched from ❓ to 💡 — ❓ (U+2753) was rendering zero-width
in the user's font so the help label effectively disappeared. 💡 is
supplementary-plane and renders reliably.
Launch picker focus fix:
- run_in_source() now calls nvim_set_current_win instead of nvim_win_call.
nvim_win_call returns focus to the caller's window synchronously, so
when dap.continue() triggered an async vim.ui.select picker, the picker
opened but no window held focus — user had to click into it manually.
Shifting focus directly means the picker inherits source-window focus.
Bar buffer robustness:
- buftype=nofile + BufEnter autocmd that bounces focus back if anything
accidentally lands in the bar. Prevents E21 "Cannot make changes,
'modifiable' is off" that the user hit after a mouse drag landed focus
in the bar and their next keypress tried to edit.
dapui pane gutter cleanup:
- set_dapui_window_opts now forces number=false, relativenumber=false,
signcolumn=no, statuscolumn="", foldcolumn=0, and sets fillchars=eob:
to hide the `~` end-of-buffer marks. snacks statuscolumn was rendering
a gutter with line-number-like marks in dapui panes where they have no
semantic meaning.
Sidebar reorder from last commit stands: Call Stack → Scopes → Watches
→ Breakpoints.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>