Skip to content

feat(fzf): actions, overlay hints, and instant jump#3

Merged
Piotr1215 merged 1 commit intomainfrom
feature/fzf-enrichment
Jan 10, 2026
Merged

feat(fzf): actions, overlay hints, and instant jump#3
Piotr1215 merged 1 commit intomainfrom
feature/fzf-enrichment

Conversation

@Piotr1215
Copy link
Owner

@Piotr1215 Piotr1215 commented Jan 9, 2026

What

FZF actions via Ctrl+key bindings inside the picker:

  • Wrap (^S): surround token in "...", $(...), ${...}, etc
  • Help (^H): show --help for selected flag/command
  • Var (^E): extract token to UPPERCASE variable (uses push-line)
  • Replace (^R): delete token and leave cursor for tab-completion

EasyMotion-style overlay hints:

  • [a] [s] [d] labels shown on command line before picker opens
  • Yellow highlighting via region_highlight
  • Press ; in fzf to toggle instant mode, then press letter to jump directly

Architecture

  • Ports & adapters pattern for picker abstraction (fzf, fzf-tmux, sk, peco, percol)
  • Config read once at plugin load, stored in ZshJumper associative array
  • Single-pass tokenizer records positions during parsing for O(1) lookup
  • Data-driven test fixtures (91 tests)

Credits

Overlay hints inspired by @DehanLUO's zsh-easymotion - adapted region_highlight approach.

Closes #4

@Piotr1215 Piotr1215 changed the title feat(fzf): path preview and fix action parsing for commands with -- feat(fzf): additional fzf related functionality Jan 9, 2026
@Piotr1215 Piotr1215 force-pushed the feature/fzf-enrichment branch 4 times, most recently from 43744bc to bcf0913 Compare January 9, 2026 23:49
@Piotr1215 Piotr1215 changed the title feat(fzf): additional fzf related functionality feat(fzf): actions, overlay hints, and instant jump Jan 10, 2026
@Piotr1215 Piotr1215 force-pushed the feature/fzf-enrichment branch 2 times, most recently from 0364acb to 3b2259e Compare January 10, 2026 18:52
FZF actions (Ctrl+key in picker):
- Wrap: surround token in quotes, $(...), ${...}, etc
- Help: show --help for flags/commands
- Var: extract to UPPERCASE variable with push-line
- Replace: delete token, cursor stays for tab-completion

EasyMotion-style overlay:
- [a] [s] [d] hint labels on command line (yellow, region_highlight)
- Press ; in fzf to toggle instant mode, then letter to jump
- Config loaded once at startup into ZshJumper array

Architecture:
- Ports & adapters for picker abstraction (fzf/sk/peco/percol)
- Single-pass tokenizer with O(1) position lookup
- Data-driven test fixtures

Closes #4
@Piotr1215 Piotr1215 force-pushed the feature/fzf-enrichment branch from 3b2259e to 350c06b Compare January 10, 2026 18:53
@Piotr1215 Piotr1215 merged commit f19a377 into main Jan 10, 2026
8 checks passed
@Piotr1215 Piotr1215 deleted the feature/fzf-enrichment branch January 10, 2026 18:54
Piotr1215 added a commit that referenced this pull request Jan 10, 2026
feat(fzf): actions, overlay hints, and instant jump
Piotr1215 added a commit that referenced this pull request Jan 10, 2026
feat(fzf): actions, overlay hints, and instant jump
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.

Bug: Command line text after cursor disappears when fuzzy picker is activated

1 participant