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. These libraries are meant to combine nicely into a small ecosystem of useful helpers to build CLIs in OCaml.
-
Pp_ttyextendsppto build colored documents in the user's terminal using ANSI escape codes. -
Erris an abstraction to report located errors and warnings to the user. -
Logis an interface tologsusingPp_ttyrather thanFormat. -
Log_clicontains functions to work withErron the side of end programs (such as a command line tools). It defines command line helpers to configure theErrlibrary, while taking care of setting thelogsandfmtstyle rendering. -
Cmdlang_cmdliner_err_runneris a library for running command line programs specified withcmdlangwithcmdlineras a backend and making opinionated choices, assuming your dependencies are usingErr. -
Cmdlang_climate_err_runneris a library for running command line programs specified withcmdlangwithclimateas a backend and making opinionated choices, assuming your dependencies are usingErr.
🚧 pplumbing is currently under construction. During this initial 0.0.X experimental phase, the interfaces and behavior are subject to breaking changes.
-
We are thankful to the authors and contributors of the projects we use as dependencies.
-
We would like to thank the Dune developers for the user-facing error handling of Dune (
Stdune.User_message), on which we based the error handling scheme used inErr. By adopting a similar approach, we aim to provide a consistent and unified user experience for OCaml users across different tools and libraries.
