Danny Mösch
|
4859fa8e82
|
Ensure that headers matched against always end in a newline (#6234)
|
2025-09-04 23:09:35 +02:00 |
|
Danny Mösch
|
c1ffdfe891
|
Enable prefer_condition_list rule (#6163)
|
2025-07-12 09:41:00 -04:00 |
|
JP Simard
|
ab7d117030
|
Migrate FileHeaderRule from SourceKit to SwiftSyntax (#6112)
## Summary
Convert FileHeaderRule to use SwiftSyntax instead of SourceKit for
improved performance and better handling of file header comments,
shebangs, and doc comments.
## Key Technical Improvements
- **Enhanced shebang support** properly skipping past `#!/usr/bin/env swift` lines
- **Better comment type discrimination** excluding doc comments from header analysis
- **Accurate position calculation** converting between UTF-8 and UTF-16 offsets for regex matching
- **Improved trivia traversal** for comprehensive header comment collection
- **SwiftLint command filtering** to exclude directive comments from header content
## Migration Details
- Replaced `OptInRule` with `@SwiftSyntaxRule(optIn: true)` annotation
- Implemented `ViolationsSyntaxVisitor` pattern for file-level analysis
- Added logic to start header collection after shebang.endPosition if present
- Distinguished between regular comments and doc comments (///, /** */)
- Maintained UTF-16 offset calculations for NSRegularExpression compatibility
- Added `skipDisableCommandTests: true` for SwiftSyntax disable command behavior
- Removed unnecessary SourceKittenFramework import
|
2025-06-24 09:48:25 -04:00 |
|
Martin Redington
|
ed10aec5f8
|
Enable implicit_return and fix all violations (#5658)
|
2024-07-10 12:15:19 +01:00 |
|
Danny Mösch
|
c810459e6a
|
Enforce mandatory trailing comma and fix all violations (#5640)
|
2024-06-28 05:36:50 +00:00 |
|
Danny Mösch
|
2ed1fc2f27
|
Let all rules be configurable (#5274)
|
2023-10-12 17:30:45 +02:00 |
|
Danny Mösch
|
f10fc3056b
|
Remove superfluous newline characters from examples (#5158)
|
2023-08-06 12:23:26 -04:00 |
|
JP Simard
|
a7bc9e20c7
|
Move built-in rules to new SwiftLintBuiltInRules module (#4950)
|
2023-04-27 11:16:01 -04:00 |
|