How to contribute
Before making a pull request please make sure that all tests pass. Run appropriate tests as described above.
Make sure you follow the conventions declared in the wiki.
We use ocamlformat to automatically format ocaml source code.
Setup and use
We are currently using this package at version
0.24.1. To pin and/or install
the package at this version using
opam pin ocamlformat 0.24.1
Then you can then run
dune build @fmt to see a
diff between your code and the formatted code. To promote the changes run
promote. To do these two steps in one run
dune build @fmt --auto-promote. If
you want to, you can run
ocamlformat in watch mode to continuously format the
source as you work on it with the command
dune build @fmt --auto-promote -w.
You can also find instructions for tighter editor integration at ocamlformat's
make lint will run
dune build @fmt and
make fix will run
dune build @fmt --auto-promote.
Since automatic code formatting commits will obscure
git blame we maintain a
file .git-blame-ignore-revs that will contain the
commit hashes of code formatting commits. We can then run
git blame, ignoring
these commits as:
git blame <file(s)> --ignore-revs-file .git-blame-ignore-revs
To make this setting persistent you can configure git like this:
git config blame.ignoreRevsFile .git-blame-ignore-revs
These instructions are adapted from
for documentation on the