| # SystemVerilog Formatting |
| |
| <!--* |
| freshness: { owner: 'hzeller' reviewed: '2020-10-16' } |
| *--> |
| |
| This directory contains all of the SystemVerilog-specific formatter |
| implementation. |
| |
| [Tool user documentation can be found here](../tools/formatter). |
| |
| ## Formatter Subsystems |
| |
| [Full developer documentation can be found here](../../doc/formatter.md). |
| |
| Below is a quick summary of the major components. |
| |
| [formatter.h](formatter.h) contains the top-level entry point into the |
| formatter. Text-in-text-out tests are in [formatter_test.cc](formatter_test.cc). |
| |
| [FormatStyle](format_style.h) defines ways in which formatting can be |
| configured. |
| |
| [token_annotator.h](token_annotator.h) marks up a token stream with formatting |
| constraints such as minimum spacing, and always/never-wrap. |
| |
| [TreeUnwrapper](tree_unwrapper.h) converts a SV syntax tree into a |
| language-agnostic TokenPartitionTree representation for doing formatting |
| operations. |
| |
| [align.h](align.h) implements everything related to tabular alignment of |
| specific sections of code. |
| |
| [comment_controls.h](comment_controls.h) implements comment directives thet |
| disable formatting on ranges of text. |