Add IN6 rule: Continuation Line #110
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces the style rule IN6: Continuation Line, to the lint module: updates the configuration and rule system to support it, and adds thorough tests to validate the behavior.
Code Changes
Configuration:
Added indent_continuation_line to LintCfg with default options.
Updated default configuration and setup logic to support the new rule.
Rule Implementation:
Added IndentContinuationLineRule, IndentContinuationLineOptions, and supporting logic in src/lint/rules/indentation.rs.
The rule checks for correct indentation of continuation lines in statements and object contents.
Integrated the rule into the CurrentRules struct and rule instantiation logic.
Integration:
Updated TreeElement implementations for statements and DML objects to call the new rule.
Adjusted imports and function signatures as needed to support the new logic.
Tests:
Added comprehensive tests in src/lint/rules/tests/indentation/continuation_line.rs for both correct and incorrect cases.
Refactoring
Refactored some token filtering logic for parenthesized expressions to facilitate rule implementation.