comments between top-level decls should be considered
for inline-config. But despite being placed between
top-level decls, occasionally they get connected
somewhere nested inside the AST of the first decl.
We fix this by extracting such comments in a
pre-processing step. The control flow was significantly
altered to allow for this;
before:
parsing -> extract inline configs
-> compute final config(s)
-> split module into head/decls/comments/whitespace
-> ... bridoc -> transformations -> printing
after:
parsing -> split module into head/decl/comments/whitespace
-> extract inline configs respecting comments that
got extracted from decls in the previous step
-> compute final config(s)
-> ... bridoc -> transformations -> printing
|
||
|---|---|---|
| .. | ||
| Components | ||
| Config | ||
| ToBriDoc | ||
| Transformations | ||
| Util | ||
| WriteBriDoc | ||
| Prelude.hs | ||
| S1_Parsing.hs | ||
| S2_SplitModule.hs | ||
| S3_ToBriDocTools.hs | ||
| S4_WriteBriDoc.hs | ||
| StepOrchestrate.hs | ||
| ToBriDoc.hs | ||
| Types.hs | ||
| Utils.hs | ||