statix/docs/notes.txt
2022-01-30 12:39:38 +05:30

56 lines
1.2 KiB
Plaintext

VFS
---
- do all the IO in one place
- pass file handles around
Interface
---------
- load files to be read as VFS
- path interner
- traits to go from Report to text/errfmt
- offline documentation/explaination for lints
Fix
---
- multipass runner with hare & tortoise for cycle detection
- fix all possible suggestions
- work with a config generated by CLI
- read data from VFS
- produce a Report
Analysis
--------
- work with a config generated by CLI
- read data from VFS
- produce a Report
Tests
-----
- figure out a way to generate stable singleline output for
analysis tests
- use stderr tests for fixes
Lint ideas
----------
- unused let bindings
- unused rec
- invalid or potentially risky string interpolations
- useless parens in infix exprs
- unused function params
- manual map over list
- merge inherit
- merge inherit-from
- empty inherit
- useless antiquote/splice (where is antiquote truly
required?)
- useless variadic (things like `{...} : expr`, replace with
`_: expr`)
- redundant pattern `{...} @ inputs : expr`, replace with
`inputs: expr`
- useless hasAttr: `if x ? a then x.a else default` can be
replaced with `x.a or default`
Extensions
----------
- vim plugin to populate location list with errors