Skip to content

F1 shows your live keys, grouped by menu - #583

Open
a-team-app[bot] wants to merge 6 commits into
mainfrom
milestone-497-live-keys
Open

a-team-app[bot] wants to merge 6 commits into
mainfrom
milestone-497-live-keys

Conversation

@a-team-app

@a-team-app a-team-app Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

F1 now opens the shared Help dialog from MentalDesk.Tui. Everywhere (left) lists every global command that has a key and can run right now, under its menu heading in menu-bar order, then Other. Your place's keys are on the right. Because it reads your bindings each time it opens, a rebind shows the new key, a command you've just given a key appears, and an unbound or disabled one drops out. The status bar now always ends with Press F1 for help at its right edge, with the cursor position just before it, and the command is called Show keys.

Closes #512

Things that change what you see beyond the task:

  • Diff shows up as a heading too, between Go and Review, since it's a menu on the bar. The task's list left it out.
  • Go to line is an Editor command, so binding it puts it in the editor's column, not Everywhere. The tests use Open recent folder (File) as the unbound global command that gets a key.
  • Other includes Ctrl+1…Ctrl+9 (Focus editor tab 1–9), Esc Focus editor and F10 Show menu. These are bound but have no menu item. That's nine rows for the tab keys alone.
  • A key the place's column already lists (the sidebar tab keys, next/previous tab, the find options) isn't repeated under Everywhere.
  • Find in file and Replace in file only show in Everywhere while a file is open. With no tab, Ctrl+F and Ctrl+H open the Find pane.
  • Enter no longer closes the dialog. The library's dialog closes on Esc only, as the task's out-of-scope note says.
  • The status bar's default message is now just TuiCode, since the help key has its own slot. In an 80-column terminal the message on the left gets cut shorter to make room.
  • The Help menu's letter for Show keys is k (it was g, for Getting Started).

Also fixes main's red build: #581's UnsavedEditsHostTests still used ConfirmView, which #582 removed, so it now takes Don't save by its key like the other confirm tests.

a-team try tuicode 583

F1 opens the library's KeysDialog over a KeySheet built from TuiCode's own
commands and bindings, so Everywhere follows rebinds and newly bound
commands instead of a fixed list of eight. The library's KeySheet.For reads
its own CommandRegistry, so HelpSheet builds the sheet from ICommandService
and IKeybindingService, and LibraryScope puts the dialog's IInputScope on
TuiCode's scope stack. HelpView and its tests go.

The status bar's help hint moves to its own slot at the right edge, so a
message no longer replaces it, and the command is renamed Show keys.

Closes #512

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The library's dialog swallows every key while it's open, Ctrl+Q included.

Closes #512

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@a-team-app
a-team-app Bot marked this pull request as ready for review October 20, 2026 05:11
a-team-app Bot and others added 4 commits October 20, 2026 20:03
# Conflicts:
#	src/TuiCode.Workbench/WorkbenchHost.cs
… no file

A key the place column already shows (the find options, sidebar tab keys,
tab-strip keys) isn't repeated under Everywhere. Find in file and Replace in
file are listed only while there's a file tab to search; without one their
keys open the Find pane, which Find globally and Replace globally list.

Closes #512

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
#581 landed after #582 replaced ConfirmView with ConfirmDialog, so its
host test no longer built on main.

Closes #512

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

F1 shows your live keys, grouped by menu

0 participants