blob: bba644c13fe70334b81815f93a632209d50f2284 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
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
|