package pplumbing
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Utility libraries to use with [pp]
Install
dune-project
Dependency
Authors
Maintainers
Sources
pplumbing-0.0.14.tbz
sha256=ed7eaba180378a59719e9af63ccdc89dde8e0a20f2cba420abb0080b0bc4a868
sha512=f168c37c1acd38c92e5b6d59321da4021195b6ddc49dde82de70e9282b55042621bea1b84a677d57f83604c06d6ee9c790b683fd589cd2097ab8f00c293f56af
doc/README.html
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_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_runneris a library for running command line programs specified withcmdlangwithcmdlineras a backend and making opinionated choices, assuming your dependencies are usingErr.
These libraries are meant to combine nicely into a small ecosystem of useful helpers to build CLIs in OCaml.
Links to plumbed projects
Experimental Status
:construction: pplumbing is currently under construction. During this initial 0.0.X experimental phase, the interfaces and behavior are subject to breaking changes.
Acknowledgements
- 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.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page