pplumbing
pplumbing defines a set of utility libraries to use with pp. It is compatible with logs and inspired by design choices used by Dune for user messages:
Pp_tty extends pp to build colored documents in the user's terminal using ANSI escape codes.Err is an abstraction to report located errors and warnings to the user.Log is an interface to logs using Pp_tty rather than Format.Log_cli contains functions to work with Err on the side of end programs (such as a command line tools). It defines command line helpers to configure the Err library, while taking care of setting the logs and fmt style rendering.Cmdlang_cmdliner_runner is a library for running command line programs specified with cmdlang with cmdliner as a backend and making opinionated choices, assuming your dependencies are using Err.These libraries are meant to combine nicely into a small ecosystem of useful helpers to build CLIs in OCaml.
:construction: pplumbing is currently under construction. During this initial 0.0.X experimental phase, the interfaces and behavior are subject to breaking changes.
Stdune.User_message), on which we based the error handling scheme used in Err. By adopting a similar approach, we aim to provide a consistent and unified user experience for OCaml users across different tools and libraries.