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) Stdlib.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) Stdlib.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) Stdlib.result

page_files pager fs uses pager to page the files fs. If pager is: