aboutsummaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
authorAkshay <[email protected]>2022-01-30 07:09:38 +0000
committerAkshay <[email protected]>2022-01-30 07:09:38 +0000
commitade09b4d172ff649b716a05ce597d2da864a3623 (patch)
treef5e032dbf1f5f1780e16c5097d6ba3996deb9a46 /readme.md
parent7457498ea64c4542b501d4c03ec2ff617763b070 (diff)
rework docs and readme
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md44
1 files changed, 10 insertions, 34 deletions
diff --git a/readme.md b/readme.md
index 1cdadb5..e60d38d 100644
--- a/readme.md
+++ b/readme.md
@@ -48,6 +48,12 @@ nix run git+https://git.peppe.rs/languages/statix -- --help
48cachix use statix 48cachix use statix
49``` 49```
50 50
51Install from nixpkgs:
52
53```shell
54nix run nixpkgs#statix -- help
55```
56
51Install with [brew/linuxbrew](https://brew.sh) 57Install with [brew/linuxbrew](https://brew.sh)
52 58
53```bash 59```bash
@@ -130,45 +136,15 @@ empty_pattern
130redundant_pattern_bind 136redundant_pattern_bind
131unquoted_uri 137unquoted_uri
132deprecated_is_null 138deprecated_is_null
139empty_inherit
140faster_groupby
141faster_zipattrswith
142deprecated_to_path
133``` 143```
134 144
135All lints are enabled by default. 145All lints are enabled by default.
136 146
137## Architecture
138
139`statix` has the following components:
140
141- `bin`: the CLI/entrypoint
142- `lib`: library of lints and utilities to define these
143 lints
144- `vfs`: virtual filesystem
145- `macros`: procedural macros to help define a lint
146
147### `bin`
148
149This is the main point of interaction between `statix`
150and the end user. It's output is human-readable and should
151also support JSON/errorfmt outputs for external tools to
152use.
153
154### `lib`
155
156A library of AST-based lints and utilities to help write
157those lints. It should be easy for newcomers to write lints
158without being familiar with the rest of the codebase.
159
160### `vfs`
161
162VFS is an in-memory filesystem. It provides cheap-to-copy
163handles (`FileId`s) to access paths and file contents.
164
165### `macros`
166
167This crate intends to be a helper layer to declare lints and
168their metadata.
169
170## TODO 147## TODO
171 148
172- Test suite for lints and suggestions
173- Resolve imports and scopes for better lints 149- Resolve imports and scopes for better lints
174- Add silent flag that exits with status 150- Add silent flag that exits with status