Module B0_ui.Pager

module Pager: sig .. end
Pager interaction.


Cli arguments


val envs : Cmdliner.Term.env_info list
envs describe the PAGER and TERM environment variable.
val don't : ?docs:string -> unit -> bool Cmdliner.Term.t
don't ~docs () is a --no-pager command line option to unconditionally request not use a pager. docs is the manual section where the option is documented.

Pager


val find : ?search:B0_std.Fpath.t list ->
don't:bool -> unit -> (B0_std.Cmd.t option, string) Pervasives.result
find ~search ~don't finds a suitable pager. This is (in order):
  1. Ok None if don't is true or if the TERM environment variable is dumb or undefined.
  2. Ok (Some pager) if pager is a tool invocation parsed from the PAGER environment variable that can be found via Os.Cmd.find ?search.
  3. Ok (Some pager) if either less or more can be found (in that order) via Os.Cmd.find ?search.
  4. Ok None otherwise.

val page_stdout : B0_std.Cmd.t option -> (unit, string) Pervasives.result
page_stdout pager setups the program so that if pager is Some cmd, the standard output of the program is redirected to a spawn of cmd with the following twists: If pager is None this function has no effect.
val page_files : B0_std.Cmd.t option ->
B0_std.Fpath.t list -> (unit, string) Pervasives.result
page_files pager fs uses pager to page the files fs. If pager is: