cmux-next palette: titles use title case and a one-character ellipsis

Merged
TE
15d ago
+85-60

Status: in progress (review and CI pending).

Seven command palette titles broke the macOS title style. The palette, the menu bar, which-key and the shortcut settings all show these titles, so the fix shows up everywhere.

Trailing prepositions are now capitalized, as the last word is in a macOS menu title (Finder's "Open With"):

  • Continue In…
  • Move Chief To…
  • Send To…
  • New Screen With…
  • Open Current Directory In…
  • Merge Workspace Into…

A mid-title preposition is now lowercase: Swap With Session… → Swap with Session…

The English changes are case only, so every translation stays as it was. Separately, 40 translations ended in three dots instead of "…". They are fr, ru, th, zh-Hans and zh-Hant across eight titles: Command Palette, Find, Go to Workspace, Open Folder, Settings, Check for Updates, Rename Tab and Rename Workspace. Those now use the single "…" character.

A new test, PaletteMenuVocabularyTests.paletteTitlesUseTitleCase, keeps both rules. It fails a palette title that contains "...", and a lowercase word unless that word is a short article, conjunction or preposition inside the title (cmux, iPhone, iPad, iOS and macOS are exempt). plans/cmux-next/palette-audit.md now shows the new titles.

Follow-ups from the same sweep, not in this PR:

  • About 20 actions that ask for input have no "…", mostly the Phone family (Open URL, Paste, Type, Tap…).
  • A few rows that only show a panel may have an extra "…" (Show Downloads, Show Media, Cloud Diagnostics).
  • The workspace group's "Close Group" menu row closes the group's workspaces, not the group.

Changelog

Changed: Some command and menu titles now use standard macOS title case (for example, "Move Chief To…" and "Swap with Session…").

Observed / Not run

  • Ran: scripts/cmux-next/prepush-gate.py, which reports no new violations. Ran scripts/localization_catalog.py check: the four touched catalogs have the same error counts as on base. Checked every palette title by hand against the new test's logic, including the 1,088 offered titles in action-surfaces.json.
  • Not run: the Swift tests, which run on CI, since nothing builds on this Mac. action-surfaces.json is left for the PR autofix to regenerate.

Agent session: cosmic-gray

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Applies macOS title-style capitalization to command palette titles so they match the menu bar, which-key, and shortcut settings.

  • Upper-cases trailing prepositions: Continue In…, Move Chief To…, Send To…, New Screen With…, Open Current Directory In…, Merge Workspace Into….
  • Lower-cases a mid-title preposition: Swap With Session… becomes Swap with Session….
  • Replaces three-dot ellipses ("...") with the single "…" character in 40 translations (fr, ru, th, zh-Hans, zh-Hant) across eight titles. English changes are case only, so translations are unaffected.
  • Adds a test that fails on "..." or on lowercase words in palette titles.