Skip to content

feat(picker): key-hint footer and vim ? overlay - #82

Merged
hammadmajid merged 6 commits into
mainfrom
feat/67-key-hints
Oct 1, 2026
Merged

hammadmajid merged 6 commits into
mainfrom
feat/67-key-hints

Conversation

@hammadmajid

Copy link
Copy Markdown
Contributor

Closes #67. Part of #61.

What changed

  • The footer's keys line is built from the resolved Actions instead of a hard-coded "enter jump": the Action on enter first, the rest in order, unbound Actions left out. Whole hints that do not fit are dropped behind a ….
  • action.Merge now takes the table order and returns the user's own Actions in config.toml order, followed by the built-ins (it used to put built-ins first, then user Actions sorted by name). config reads that order from the raw [actions.*] headers.
  • A message (error or confirmation) still replaces the hints until the next key; its styling moved to one messageLine helper next to the hints.
  • Vim list focus: ? opens an overlay of every key (navigation and Actions), and ?, esc or q close it. While it is open other keys do nothing, ctrl+c still cancels. The footer shows ? help in vim list focus. An Action bound to ? keeps the key. The default key map has no overlay.
  • [picker] hints (default true) in config; false hides the hints, leaving the match count and messages. config.example.toml does not exist yet, so it is not updated.
  • README documents all of it.

Verification

  • gofmt -l . empty, go vet ./... clean, golangci-lint run ./... 0 issues, binary builds, no file over 300 lines.
  • go test ./... passes except the known local-only fish cases of TestScriptExecution.
  • New tests: footer at wide and narrow widths (and never wider than the terminal for widths 5-80), hint order, message replacing hints, hints = false, the overlay opening and closing in vim mode, only in list focus, fitting heights 3-40; config default/parse/type error; action order.

@hammadmajid
hammadmajid merged commit 2b51573 into main Oct 1, 2026
3 checks passed
@hammadmajid
hammadmajid deleted the feat/67-key-hints branch October 1, 2026 20:46
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.

feat(picker): key-hint footer and vim ? overlay

1 participant