Skip to content

Vi-style : command mode + ctrl+w reclaim (window management phase 1)#81

Closed
gammons wants to merge 12 commits into
mainfrom
window-management-phase1
Closed

Vi-style : command mode + ctrl+w reclaim (window management phase 1)#81
gammons wants to merge 12 commits into
mainfrom
window-management-phase1

Conversation

@gammons

@gammons gammons commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

  • Wires up the long-stubbed ModeCommand: : in normal mode opens a status-bar prompt with vim semantics (Esc/backspace-past-: cancel, Enter executes, unknown commands toast)
  • Adds a : command registry (internal/ui/command.go) as the extension point for later commands; v1 ships :ws (workspace finder)
  • Reclaims ctrl+w from the workspace finder so it can become the vim window-command prefix in phase 2; the help overlay now advertises :ws (workspaces also remain reachable via 1-9)
  • Hardens against prompt-state leaks: SetMode centrally clears the prompt if command mode is preempted (e.g. ctrl+c quit-confirm mid-prompt)
  • Docs updated (STATUS.md + wiki keybinding pages)

Phase 1 of the vim-style window management design (docs/superpowers/specs/2026-06-11-window-management-design.md); plan in docs/superpowers/plans/2026-06-11-window-management-phase1-command-mode.md.

Test Plan

  • 16 new tests (statusbar prompt slot, registry dispatch, command-mode handler incl. external-preemption regression, normal-mode wiring, help-overlay entries)
  • Full suite green (go test ./... -count=1), go vet clean, build clean
  • Manual smoke: : shows prompt + COMMAND pill; :ws opens workspace finder; :bogus toasts; Esc/backspace cancel; ctrl+w is a no-op; ? help lists :ws and no ctrl+w

@gammons

gammons commented Jun 11, 2026

Copy link
Copy Markdown
Owner Author

Superseded by #87, which combines all three window-management phases into one mergeable PR.

@gammons gammons closed this Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant