A which-key style training overlay for Herdr, built as a Rust/Ratatui plugin.
It reads your real Herdr config, merges it with known defaults, and renders a searchable keybinding guide with list/tree modes, assigned/unassigned filtering, and contrast-safe selection styling. It does not invent bindings; values are marked as default, config, or unset based on the loaded config.
Plugin linking requires Herdr's plugin-capable line (herdr >= 0.7.0). If herdr --version reports an older version, use the snapshot command for now or upgrade Herdr before running herdr plugin ... commands.
cargo install herdr-pretty-which --locked
herdr plugin link cargo
herdr plugin pane open --plugin ramarivera.pretty-which --entrypoint overlay --placement overlay --focusYou can also install the GitHub-managed plugin checkout directly. Herdr will build the release binary during install and run it from the managed checkout:
herdr plugin install ramarivera/herdr-pretty-whichUse the checkout path only when developing the plugin itself:
cargo install --path . --locked
herdr plugin link .
herdr plugin pane open --plugin ramarivera.pretty-which --entrypoint overlay --placement overlay --focusBind the plugin action through Herdr's command keybinding support:
[[keys.command]]
name = "Pretty Which"
description = "open pretty which"
key = "prefix+space"
type = "plugin_action"
command = "ramarivera.pretty-which.open"↑/↓: move selection- type: fuzzy filter
Backspace: edit filterTab/Shift+Tab: cycleALL/ASSIGNED/UNASSIGNEDCtrl+T: toggleLIST/TREE←/→: collapse/expand or move through tree groupsCtrl+[/Ctrl+]: collapse/expand all tree groupsEsc/q: close
cargo test
cargo test --test render_snapshots
cargo test --test cli_e2eOptional live Herdr smoke test, only when you explicitly want the socket/plugin loop:
$env.HERDR_LIVE_E2E = "1"
cargo test --test live_herdr_e2e -- --ignoredThe live test links the local plugin and verifies Herdr can see/invoke it. It does not stop your server or delete sessions.
