@@ -1,8 +1,7 @@
11# Contributing
22
33Issues (bugs, feature requests or otherwise feedback) may be reported in
4−[the GitHub issue tracker for this
5−project](https://github.com/tweag/ormolu/issues). Pull requests are also
4+[the GitHub issue tracker for this project][issues]. Pull requests are also
65welcome.
76
87When contributing to this repository, please first discuss the change you
@@ -18,28 +17,6 @@ messages and PR descriptions.
1817
1918* [Fixing bugs][bugs]. This is the main focus right now.
2019
21−## Implementing rendering of AST
22−
23−The `Ormolu.Printer.Combinators` module provides a DSL for rendering of GHC
24−AST. You'll probably only need this one module for writing new rendering
25−functions. The module documents how to use the printing combinators it
26−provides. Consult the Haddocks to learn more about them.
27−
28−Create new modules corresponding to the things you want to render under
29−`Ormolu.Printer.Meat`. For example, there are `Ormolu.Printer.Meat.Type` and
30−`Ormolu.Printer.Meat.Declaration.Data`.
31−
32−Concrete rendering functions get their names by appending `p_` to the name
33−of the type which describes a particular part of AST. For example, the
34−function for rendering types is correspondingly:
35−
36−```haskell
37−p_hsType :: HsType GhcPs -> R ()
38−```
39−
40−In general rendering functions like this take 1 or more arguments and
41−produce `R ()` which is a rendering action.
42−
4320### Testing
4421
4522Testing has been taken good care of and now it amounts to just adding
@@ -59,6 +36,9 @@ Testing is performed as following:
5936Examples can be organized in sub-directories, see the existing ones for
6037inspiration.
6138
39+Please note that we try to keep individual files at most 25 lines long
40+because otherwise it's hard to figure out want went wrong when a test fails.
41+
6242## CI
6343
6444We use Circle CI. Some outside contributors may have problems, as in, CI
@@ -75,4 +55,5 @@ User settings -> Account integrations -> Refresh permissions
7555
7656in Circle CI app.
7757
58+[issues]: https://github.com/tweag/ormolu/issues
7859[bugs]: https://github.com/tweag/ormolu/issues?q=is%3Aissue+is%3Aopen+label%3Abug