B00_pagerPager interaction.
module Env : sig ... endEnvironment variables.
envs () describe the PAGER and TERM environment variable for cmdliner.
val find :
?win_exe:bool ->
?search:B0_std.Fpath.t list ->
don't:bool ->
unit ->
(B0_std.Cmd.t option, string) Stdlib.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 : B0_std.Cmd.t option -> (unit, string) Stdlib.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.Stdlib.at_exit function is installed that flushes B0_std.Fmt.stdout and Stdlib.stdout, closes Unix.stdout and waits upon the cmd spawn termination.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.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.