diff options
author | Akshay <[email protected]> | 2022-01-30 07:09:38 +0000 |
---|---|---|
committer | Akshay <[email protected]> | 2022-01-30 07:09:38 +0000 |
commit | ade09b4d172ff649b716a05ce597d2da864a3623 (patch) | |
tree | f5e032dbf1f5f1780e16c5097d6ba3996deb9a46 /docs/architecture.txt | |
parent | 7457498ea64c4542b501d4c03ec2ff617763b070 (diff) |
rework docs and readme
Diffstat (limited to 'docs/architecture.txt')
-rw-r--r-- | docs/architecture.txt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/architecture.txt b/docs/architecture.txt new file mode 100644 index 0000000..fb2d724 --- /dev/null +++ b/docs/architecture.txt | |||
@@ -0,0 +1,38 @@ | |||
1 | architecture | ||
2 | ============ | ||
3 | |||
4 | statix has the following components: | ||
5 | * bin: the CLI/entrypoint | ||
6 | * lib: library of lints and utilities to define these lints | ||
7 | * vfs: virtual filesystem | ||
8 | * macros: procedural macros to help define a lint | ||
9 | |||
10 | |||
11 | bin | ||
12 | --- | ||
13 | |||
14 | This is the main point of interaction between `statix` and | ||
15 | the end user. It's output is human-readable and should also | ||
16 | support JSON/errorfmt outputs for external tools to use. | ||
17 | |||
18 | |||
19 | lib | ||
20 | --- | ||
21 | |||
22 | A library of AST-based lints and utilities to help write | ||
23 | those lints. It should be easy for newcomers to write lints | ||
24 | without being familiar with the rest of the codebase. | ||
25 | |||
26 | |||
27 | vfs | ||
28 | --- | ||
29 | |||
30 | VFS is an in-memory filesystem. It provides cheap-to-copy | ||
31 | handles (`FileId`s) to access paths and file contents. | ||
32 | |||
33 | |||
34 | macros | ||
35 | ------ | ||
36 | |||
37 | This crate intends to be a helper layer to declare lints and | ||
38 | their metadata. | ||