Add __fish_anypager helper

This makes it easier to get *any pager* in the number of places we do.

Unfortunately:

1. It can't just execute the pager because that might block
2. We can't really set the necessary options for less here
   so they still need to be set outside.

This

Fixes #10074

by falling back to `cat` in that case. We could also decide to abort
instead of using a non-pager, but for history that's probably fine.
This commit is contained in:
Fabian Boehm
2023-10-28 10:31:24 +02:00
parent 6361362996
commit ed489d0d52
6 changed files with 44 additions and 20 deletions

View File

@@ -1,6 +1,6 @@
function __fish_preview_current_file --description "Open the file at the cursor in a pager"
set -l pager less --
set -q PAGER && echo $PAGER | read -at pager
set -l pager (__fish_anypager)
or set pager cat
# commandline -t will never return an empty list. However, the token
# could comprise multiple lines, so join them into a single string.