feat(shell): add fzf inline picker, variable-check utility, and PATH cleanup #29

Merged
rootiest merged 3 commits from feat/fzf-inline-picker-and-config-utilities into main 2026-06-05 23:49:04 +00:00
Owner

Summary

  • @@ FZF Inline Picker — new __fzf_inline_picker function opens an interactive fzf session and injects the selected item at the cursor position in the current command line; bound to @@ in Emacs mode and all Vi modes
  • __fish_variable_check utility — reusable helper that evaluates a config variable's truthiness (0=true, 1=false, 2=empty/unset, 3=garbage); groundwork for upcoming strict-mode and opinionated-components guards
  • config.fish PATH cleanup — inline comments added to all fish_add_path entries; removes unused $HOME/Applications path; changes cargo bin flag from -mg to -mga so cargo binaries are appended rather than prepended (avoids shadowing system Rust tools)

Manual Verification

  • At an empty prompt, type @@ — an fzf session should open; selecting an item should inject it at the cursor
  • At a prompt with existing text (e.g. cat ), type @@ — fzf should open and insert the selection inline without erasing the existing text
  • In Vi-insert mode (i), press @@ — should behave identically to Emacs mode
  • Run __fish_variable_check __fish_config_strict_mode after setting set -g __fish_config_strict_mode true — should exit 0; unset should exit 2
  • Verify echo $PATH shows cargo bin at the end of the path list, not the front
## Summary - **`@@` FZF Inline Picker** — new `__fzf_inline_picker` function opens an interactive `fzf` session and injects the selected item at the cursor position in the current command line; bound to `@@` in Emacs mode and all Vi modes - **`__fish_variable_check` utility** — reusable helper that evaluates a config variable's truthiness (`0`=true, `1`=false, `2`=empty/unset, `3`=garbage); groundwork for upcoming strict-mode and opinionated-components guards - **`config.fish` PATH cleanup** — inline comments added to all `fish_add_path` entries; removes unused `$HOME/Applications` path; changes cargo bin flag from `-mg` to `-mga` so cargo binaries are appended rather than prepended (avoids shadowing system Rust tools) ## Manual Verification - [x] At an empty prompt, type `@@` — an `fzf` session should open; selecting an item should inject it at the cursor - [x] At a prompt with existing text (e.g. `cat `), type `@@` — fzf should open and insert the selection inline without erasing the existing text - [x] In Vi-insert mode (`i`), press `@@` — should behave identically to Emacs mode - [x] Run `__fish_variable_check __fish_config_strict_mode` after setting `set -g __fish_config_strict_mode true` — should exit 0; unset should exit 2 - [x] Verify `echo $PATH` shows cargo bin at the end of the path list, not the front
rootiest added 3 commits 2026-06-05 23:48:41 +00:00
Adds __fzf_inline_picker function and @@ keybinding (Emacs + all Vi
modes). Opens an fzf session and injects the selected item at the
cursor position in the current command line. Includes SYNOPSIS/
DESCRIPTION doc block per project conventions. Updates README with
new binding in the User Bindings table.
Provides a reusable helper for evaluating configuration variable
truthiness. Returns 0 (true), 1 (false), 2 (empty/unset), or
3 (unrecognized value) — enables future strict-mode and opinionated-
components guards without repeating inline logic.
Adds inline comments to all fish_add_path entries for self-documentation.
Removes the unused $HOME/Applications path. Changes cargo bin flag from
-mg to -mga so the cargo bin directory is appended to PATH rather than
prepended, avoiding conflicts with system-installed Rust tools.
rootiest merged commit 0396d685fd into main 2026-06-05 23:49:04 +00:00
rootiest deleted branch feat/fzf-inline-picker-and-config-utilities 2026-06-05 23:49:04 +00:00
Sign in to join this conversation.