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:
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: