OCamlFormat is a tool to automatically format OCaml code in a uniform style. This package defines a RPC interface to OCamlFormat
Published: 19 Sep 2023
OCaml Code Formatter.
ocamlformat is a code formatter for OCaml. It comes with opinionated default settings but is also fully customizable to suit your coding style.
Profiles: ocamlformat offers profiles we predefined formatting configurations. Profiles include
Configurable: Users can change the formatting profile and configure every option in their
Format Comments: ocamlformat can format comments, docstrings, and even code blocks in your comments.
RPC: ocamlformat provides an RPC server that can bed used by other tools to easily format OCaml Code.
ocamlformat is part of the OCaml Platform, the recommended set of tools for OCaml.
With OCaml and opam installed, you can install ocamlformat with:
opam install ocamlformat
Formatting your code is as easy as running:
To configure ocamlformat to your liking, create an
.ocamlformat configuration file in your project with settings like:
profile = default
version = 0.26.1
Refer to our documentation or use
ocamlformat --help for a full list of configuration options.
To make formatting your code even easier, use the
dune build system:
The full documentation for ocamlformat, including comprehensive user and API guides, can be found on OCaml.org.
We wholeheartedly welcome contributors! To start, please read our Contributing Guide to familiarize yourself with our development process, including how to propose and how to start hacking on ocamlformat.
In addition to the Contributing Guide, we provide a Hacking Guide for ocamlformat developers. It contains in-depth explanation of development processes, such as running tests, releasing ocamlformat, etc.
In order to foster a welcoming and respectful community, ocamlformat has adopted the OCaml Code of Conduct.
Interested in the future of ocamlformat? Take a look at our Roadmap to understand our vision and planned advancements for ocamlformat.
For conversations on ongoing development, be sure to visit the ocamlformat section of the OCaml Discuss forum.
ocamlformat is distributed under the terms of the MIT License. See the LICENSE file for complete details.
We gratefully acknowledge the individuals and organizations that have significantly contributed to ocamlformat.
ocamlformat owes its existance to its initial author, Josh Berdine. We also want to express our appreciation to Hugo Heuzard, Guillaume Petiot, and Jules Aguillon. Their significant contributions have been instrumental to the advancement of ocamlformat.
Moreover, our gratitude extends to Facebook, who fostered the inception of ocamlformat as part of their work on the ReasonML project. Jane Street and Tarides have also provided financial support and contributed to the ongoing development of the project.