B00_pagerPager interaction.
module Env : sig ... endEnvironment variables.
val envs : unit -> Cmdliner.Term.env_info listenvs () describe the PAGER and TERM environment variable for cmdliner.
val find : ?win_exe:bool -> ?search:B00_std.Fpath.t list -> don't:bool ->
unit -> (B00_std.Cmd.t option, string) resultfind ~search ~don't finds a suitable pager. This is (in order):
Ok None if don't is true or if the TERM environment variable is dumb or undefined.Ok (Some pager) if pager is a tool invocation parsed from the PAGER environment variable that can be found via Os.Cmd.find_tool ?win_exe ?search.Ok (Some pager) if either less or more can be found (in that order) via Os.Cmd.find_tool ?win_exe ?search.Ok None otherwise.val page_stdout : B00_std.Cmd.t option -> (unit, string) resultpage_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:
LESS is undefined in the current environment it is set to LESS=FRX for the spawn of cmd.Pervasive.at_exit function is installed that flushes Fmt.stdout and stdout, closes Unix.stdout and waits upon the cmd spawn termination.If pager is None this function has no effect.
val page_files : B00_std.Cmd.t option -> B00_std.Fpath.t list -> (unit, string) resultpage_files pager fs uses pager to page the files fs. If pager is:
None, each of the fs files is output on stdout in order separated by a file separator character (U+001C).Some cmd, cmd is run with fs as arguments. If fs is empty does nothing.val don't : ?docs:string -> unit -> bool Cmdliner.Term.tdon'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.