lotabout.skim/tests
LoricAndre ad97bfa7de
feat: add bind and unbind actions (#1121)
* feat: add `bind` and `unbind` actions

Add two new actions that allow programmatic (re)binding of keys at
runtime, both through `--bind` keybindings and the IPC/listen socket:

- `bind(key:action[+action][,key:action…])` adds one or more bindings,
  reusing the same parsing/merging logic as the `--bind` CLI option.
  Existing bindings for the same key are replaced.
- `unbind(key[,key…])` removes the bindings for a comma-separated list
  of keys, mirroring fzf's `unbind(...)` semantics.

Because the `Action` enum derives serde when the `listen` feature is
enabled, both actions are drivable over the IPC socket for free.

Covered by unit tests for parsing (`event_tests.rs`) and dispatch
(`app_tests.rs`), plus IPC integration tests (`listen.rs`). Manpage and
ARCHITECTURE.md updated with the new actions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYqqomFjYqqXd5NvkVxfbQ

* feat: add `bind` and `unbind` actions

* chore: generate files

* fixes

* fixes

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-07-18 14:22:41 +00:00
..
common feat: reduce binary size by removing uncommon image formats and color_eyre (#1118) 2026-07-17 17:29:43 +00:00
snapshots feat: add --hide-nth to hide fields from display but keep them searchable (#1122) 2026-07-18 13:13:43 +00:00
ansi.rs feat: add --hide-nth to hide fields from display but keep them searchable (#1122) 2026-07-18 13:13:43 +00:00
binds.rs chore: crate-level lints 2026-05-21 18:19:40 +02:00
case.rs chore: crate-level lints 2026-05-21 18:19:40 +02:00
cli.rs fix: preserve input order with --no-sort (#1115) 2026-07-17 12:16:46 +00:00
defaults.rs chore: crate-level lints 2026-05-21 18:19:40 +02:00
highlighting.rs tests: improve coverage to 90% (#1099) 2026-06-25 19:12:49 +00:00
issues.rs chore: crate-level lints 2026-05-21 18:19:40 +02:00
keys.rs chore: crate-level lints 2026-05-21 18:19:40 +02:00
keys_interactive.rs chore: crate-level lints 2026-05-21 18:19:40 +02:00
layout.rs feat: collapsed borders by default and --border-no-collapse flag (#1117) 2026-07-17 16:59:14 +00:00
listen.rs feat: add bind and unbind actions (#1121) 2026-07-18 14:22:41 +00:00
matcher.rs feat: bump frizbee to 0.10.0, thread local matcher (#1105) 2026-07-03 16:20:05 +00:00
mouse.rs fix: refresh preview after mouse selection (#1095) 2026-06-26 00:36:07 +02:00
multiline.rs chore: crate-level lints 2026-05-21 18:19:40 +02:00
normalize.rs chore: crate-level lints 2026-05-21 18:19:40 +02:00
options.rs feat: add --hide-nth to hide fields from display but keep them searchable (#1122) 2026-07-18 13:13:43 +00:00
popup.rs tests: improve coverage to 90% (#1099) 2026-06-25 19:12:49 +00:00
preview.rs chore: add image tests & examples 2026-06-17 13:56:37 +02:00
split_match.rs chore: crate-level lints 2026-05-21 18:19:40 +02:00
tiebreak.rs chore: crate-level lints 2026-05-21 18:19:40 +02:00
unix.rs tests: improve coverage to 90% (#1099) 2026-06-25 19:12:49 +00:00