fish-shell/share/functions/__fish_paginate.fish
Johannes Altmanninger d74b774f51 Fix paginate binding (\ep) for multiline jobs
Reproducer: type `: \<RET><M-p>`. This used to print an error due to builtin test receiving
too many arguments.

It looks like (commandline -j) can return multiple items, because a job can be broken up in multiple
lines terminated by backslashes.
2019-10-03 21:40:25 +02:00

18 lines
366 B
Fish

function __fish_paginate -d "Paginate the current command using the users default pager"
set -l cmd less
if set -q PAGER
set cmd $PAGER
end
if test -z (commandline -j | string join '')
commandline -a $history[1]
end
if commandline -j | string match -q -r -v "$cmd *\$"
commandline -aj " 2>&1 | $cmd;"
end
end