feat: add linter - #445
Conversation
|
Is it possible to configure the linter to ignore some files, so that we gradually change them to meet the standards? I am bit worried of bulk changes, especially if it is not only formatting. |
|
Seems it is possible. Then I would propose to ignore existing files in the very beginning, require passing linter from future PRs, and add chore to make old files pass the linter gradually, similar what is done with Rocq annotations. |
|
That is a good idea! We should still discuss the linting rules we want to follow beforehand, but I agree with a gradual rollout. |
|
I have been doing some testing with the linters in the branch on top of this PR (see diff). Since last month (Lean 4.32.0) there has been changes to Batteries' linter is different though: with the configurations under |
Description
Adds the batteries linter to the project. This should not be merged until the linter is fully configured and the code passes lint.
Checklist
authorssection of any appropriate filesGenerative AI Guidelines
AI assistance is permitted when making contributions to Iris-Lean, however, generative AI systems tend to produce code which takes a long time to review.
Please carefully review your code to ensure it meets the following standards.
havestatements that do not aid readability or code reuse should be inlined.In our experience, a good place to begin refactoring is by re-arranging and combining independent tactic invocations.
We also find that pointing generative AI systems to the Mathlib code style guidelines can help them perform some of this refactoring work.