feat(shell): replace pager with ov, add logs browser, and auto-generate paru wrapper #25

Merged
rootiest merged 1 commits from feat/ov-pager-logs-and-wrappers into main 2026-06-01 00:41:56 +00:00
Owner

Summary

  • Pager overhaul: $PAGER is now set to ov in config.fish (falls back to less). The less wrapper implements a full fallback hierarchy ($PAGER → ov → less → more → cat), so any caller — shell functions, git, man — benefits automatically. LESS=-R removed.
  • logs function: Interactive fzf browser for terminal logs (scrollback and paru categories), sorted newest-first. Enter opens in $PAGER, Ctrl-E opens in $EDITOR, -c <category> filters.
  • claude wrapper: Auto-injects --remote-control into every claude invocation unless the flag is already present.
  • conf.d/paru-wrapper.fish: Auto-generates ~/.local/bin/paru (the logging/tee wrapper) on first interactive shell start when /usr/bin/paru is installed. A version marker ensures the wrapper is regenerated automatically when the template changes.
  • Docs: README.md and requirements.md updated — new Pager integration section, logs/claude added to function tables, paru-wrapper.fish added to conf.d structure listing, mostov everywhere.

Manual Verification

  • Open a new shell and run echo $PAGER — should print ov if ov is installed, less otherwise
  • Run less README.md — should open in ov (or the pager hierarchy fallback)
  • Run logs — fzf list of log files should appear; press Enter on one and confirm it opens in ov; press Ctrl-E and confirm it opens in $EDITOR; run logs -c scrollback and confirm only scrollback entries are shown
  • Run claude --help and confirm --remote-control appears in the invocation (check with claude --version or observe the flag is passed); run claude --remote-control something and confirm it is not duplicated
  • Start a fresh shell session and verify ~/.local/bin/paru exists and contains paru-wrapper-version: 1; run paru --version and confirm it routes through the wrapper (a timestamped .log file should appear in $SCROLLBACK_HISTORY_DIR)
## Summary - **Pager overhaul**: `$PAGER` is now set to `ov` in `config.fish` (falls back to `less`). The `less` wrapper implements a full fallback hierarchy (`$PAGER → ov → less → more → cat`), so any caller — shell functions, git, man — benefits automatically. `LESS=-R` removed. - **`logs` function**: Interactive fzf browser for terminal logs (`scrollback` and `paru` categories), sorted newest-first. `Enter` opens in `$PAGER`, `Ctrl-E` opens in `$EDITOR`, `-c <category>` filters. - **`claude` wrapper**: Auto-injects `--remote-control` into every `claude` invocation unless the flag is already present. - **`conf.d/paru-wrapper.fish`**: Auto-generates `~/.local/bin/paru` (the logging/tee wrapper) on first interactive shell start when `/usr/bin/paru` is installed. A version marker ensures the wrapper is regenerated automatically when the template changes. - **Docs**: `README.md` and `requirements.md` updated — new Pager integration section, `logs`/`claude` added to function tables, `paru-wrapper.fish` added to `conf.d` structure listing, `most` → `ov` everywhere. ## Manual Verification - [x] Open a new shell and run `echo $PAGER` — should print `ov` if `ov` is installed, `less` otherwise - [x] Run `less README.md` — should open in `ov` (or the pager hierarchy fallback) - [x] Run `logs` — fzf list of log files should appear; press `Enter` on one and confirm it opens in `ov`; press `Ctrl-E` and confirm it opens in `$EDITOR`; run `logs -c scrollback` and confirm only scrollback entries are shown - [x] Run `claude --help` and confirm `--remote-control` appears in the invocation (check with `claude --version` or observe the flag is passed); run `claude --remote-control something` and confirm it is not duplicated - [x] Start a fresh shell session and verify `~/.local/bin/paru` exists and contains `paru-wrapper-version: 1`; run `paru --version` and confirm it routes through the wrapper (a timestamped `.log` file should appear in `$SCROLLBACK_HISTORY_DIR`)
rootiest added 1 commit 2026-06-01 00:40:28 +00:00
- Set $PAGER to ov in config.fish (falls back to less); remove LESS=-R
- Rewrite less wrapper with full hierarchy: $PAGER → ov → less → more → cat
- Simplify view.fish fallback to delegate to the less wrapper
- Add logs function: fzf browser for scrollback and paru logs, opens in $PAGER
- Add claude wrapper: auto-injects --remote-control unless already present
- Add conf.d/paru-wrapper.fish: generates ~/.local/bin/paru on first run,
  versioned so future template changes auto-propagate on next shell start
- Sync README.md and requirements.md to document all of the above
rootiest merged commit 3bc28fd9d5 into main 2026-06-01 00:41:56 +00:00
rootiest deleted branch feat/ov-pager-logs-and-wrappers 2026-06-01 00:41:56 +00:00
Sign in to join this conversation.