Skip to content

Pickers and prompts show their keys on buttons, F1 lists the rest, and the arrows choose: Open recent folder, Definitions, Choose grammar, Go to line, Language server #572

Closed

Description

@a-team-app

Context

Part of #560. Open recent folder, Definitions of, Choose grammar, Go to line and the language server dialog each end in a hint row the user can't click, and F1 inside them shows nothing about the dialog. This task moves them onto MentalDesk.Tui's PickerDialog and AppDialog, so their keys show on buttons and F1 lists the rest. It also makes the arrows choose in the three option sets. Open worktree, Open pull request, Compare to revision and Go to symbol are a later task, once the library can host them.

Blocked by #524 and #512. #524 builds how TuiCode hosts an AppDialog, and #512 builds how it shows KeysDialog. This task reuses both rather than building either again. Main already has MentalDesk.Tui 0.3.9, so no bump is needed.

Acceptance criteria

Open recent folder (or)

  • The filter field says a dimmed Type to filter until I type.
  • At the foot are two buttons, ▓ Enter Open ▓ and ▓ Esc Cancel ▓. There is no hint row.
  • Clicking either button does the same as its key.
  • When the filter matches nothing, the list says (no matches) and the Open button dims.
  • Up/Down/PgUp/PgDn move through the list as before.

Definitions of <symbol> (Go to definition with more than one result)

  • The same, with ▓ Enter Go to ▓ ▓ Esc Cancel ▓.

Choose grammar (cg, and Settings › Grammars)

  • The same, with ▓ Enter Choose ▓ ▓ Esc Cancel ▓, from both places it opens.

Go to line

  • Below the field: ▓ Enter Go to ▓ ▓ Esc Cancel ▓. Enter still jumps.

Language server dialog (Settings › Language servers)

  • At the foot: ▓ Ctrl+Enter Save ▓ ▓ Esc Cancel ▓, with no Ctrl+Enter: Save Esc: Cancel text.

F1 in any of the five

  • Opens Help with one column headed with the dialog's title, listing every key the dialog binds, including Up/Down/PgUp/PgDn in the pickers.
  • Esc closes Help and returns to the dialog, with the filter text and the selected row as they were.

Sets of options (Submit review's verdict, Editor settings' line endings, the language server choice)

  • Left/Right (or Up/Down) select the next option directly, with no Space needed.
  • Tabbing into the set lands on the chosen option, and one Tab leaves it.

Unchanged

  • Every key that worked in these dialogs before still does the same thing.

Tests

  • Each picker: placeholder text, both buttons and their labels, no hint row, (no matches) with the pick button disabled, Enter/Esc/button clicks raising the same result as before.
  • Filtering still matches the same rows as before for each picker (CamelHumps).
  • Go to line: valid, out-of-range and line:col input behave as today (keep GoToLineParseTests green).
  • Language server dialog: Ctrl+Enter saves, Esc cancels, and the chosen server is saved.
  • F1 in each dialog shows a sheet titled with the dialog's title, listing its bindings; closing it restores focus and filter state.
  • The three option sets select on arrow keys, and one Tab leaves.
  • Delete the TuiCode-side filtering, (no matches) and hint code these dialogs no longer need, along with their tests.

Out of scope

  • Open worktree, Open pull request, Compare to revision and Go to symbol: that's the next task, once the library can host them.
  • Open (Ctrl+O), New file / Rename / Move (PathPromptView): tui-style-guide#60.
  • The command palette, the mnemonic prompt, and Settings › Keybindings' footer.
  • Any new key, or any change to which key does what.
  • Changing how filtering ranks rows.
  • A TuiCode-built key sheet or picker base class: use the library's.

Activity

  1. a-team-app commented on Oct 17, 2026

    @a-team-app
    ContributorAuthor

    Blocked by #524: Reuses how #524 hosts a library AppDialog in TuiCode

  2. a-team-app commented on Oct 17, 2026

    @a-team-app
    ContributorAuthor

    Blocked by #512: Reuses how #512 shows the library's KeysDialog for F1

  3. a-team-app commented on Oct 23, 2026

    @a-team-app
    ContributorAuthor

    Draft PR #596 is up.

  4. added a commit that references this issue on Oct 23, 2026
    c1b09f1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    a-team:devClaimed by the a-team Dev

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions