clutchski / coffeelint

Lint your CoffeeScript.
http://www.coffeelint.org
Other
1.17k stars 172 forks source link

Output more location data in lint errors #645

Open mf-corey opened 5 years ago

mf-corey commented 5 years ago

I've been working on an automated lint error fixer. Basically it takes the output from Coffeelint and programmatically fixes the errors when possible (e.g. for errors like no_unnecessary_fat_arrows where the intent is obvious and the fix is simple).

This change enables the automated fixer, which relies on this fine-grain error location data. I also add 'expected' and 'actual' indentation information, which is useful in fixing indentation errors.

I had to add location manually to each AST rule, since the rule itself is responsible for recursing into the AST. On the other hand, we can inject location data for all token based linters in the lexical_linter.coffee file.

I could create a separate pull request for my fixer script, which currently supports fixes for the following error types:

UziTech commented 4 years ago

@mf-corey Could you create a PR in https://github.com/coffeelint/coffeelint that is where further development will happen.