Commit Graph
270 Commits
Author SHA1 Message Date
SUTHEESH SUKUMARAN 78836b9959 Replace objc string methods with swift equivalents #2292 (#2491)
Add preferSwiftStringAPI rule (#2292)

Replaces the Objective-C bridged `replacingOccurrences(of:with:)` with
Swift-native `replacing(_:with:)`. The ObjC method has known Unicode
bugs (e.g. corrupting emoji flag sequences); the Swift equivalent is
safer, shorter, and available from Swift 5.7+.

Only the two-argument form is transformed — calls with `options:` or
`range:` are left unchanged as they have no direct Swift equivalent.
2026-04-11 12:26:55 -07:00
Copilotandcalda 05d684a648 Fix indentation of multiline raw string literals with --indent-strings (#2484)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-04-11 12:26:55 -07:00
Copilotandcalda 835f6f287d Fix infinite loop in organizeDeclarations when opening brace has a trailing comment (#2478)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-04-11 12:26:55 -07:00
Kim de Vos d798a8a5e3 Add new format rule for wrapping case bodies (#2476) 2026-04-11 12:26:55 -07:00
Manny Lopez 54f63a3822 Add redundantEmptyView rule (#2470) 2026-04-11 12:26:55 -07:00
Copilotandcalda e913427cab Fix redundantParens incorrectly removing () from @MainActor closure signatures (#2469)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-04-11 12:26:55 -07:00
CopilotandCal Stephens 727c044bfa Fix extensionAccessControl incorrectly hoisting public onto extensions of nested internal types (#2461)
Co-authored-by: Cal Stephens <cal@calstephens.tech>
2026-04-11 12:26:55 -07:00
Copilotandcalda 3f4f61ba85 Update sortImports to support --import-grouping length,alpha (#2463)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-04-11 12:26:55 -07:00
Copilotandcalda 357efe0348 Add --test-case-access-control option for testSuiteAccessControl rule (#2457)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-04-11 12:26:55 -07:00
Copilotandcalda 15946b503e Fix noGuardInTests incorrectly transforming guard #available conditions (#2458)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-04-11 12:26:54 -07:00
Copilotandcalda e86b840fd6 Fix number handling in Swift Testing test case name conversion (#2438)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-04-11 12:26:54 -07:00
Copilotandcalda 7872f50c73 Deprecate redundantProperty rule, rename to redundantVariable (#2433)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-07 08:37:31 -08:00
Copilotandcalda 6b29108aca Preserve redundantProperty variable when explicit type differs from enclosing return type (#2432)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-07 08:37:31 -08:00
Copilotandcalda 5092e9143e enumNamespaces: Don't convert Swift Testing suites from struct to enum (#2429)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-07 08:37:31 -08:00
Copilotandcalda 5b39f8e954 Fix redundantSendable leaving extra space when removing ': Sendable' with space before colon (#2428)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-07 08:37:31 -08:00
Copilotandcalda 64bb14a2cd Fix redundantSendable incorrectly removing Sendable from types inside public extension (#2423)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-07 08:37:31 -08:00
Kim de VosandCal Stephens 2c43a100bd Sort imports by access level (#2358)
Co-authored-by: Cal Stephens <cal@calstephens.tech>
2026-03-03 08:09:28 -08:00
Nick Lockwood a962548ecf Fix incorrect replacement of && operator inside a ternary condition 2026-03-03 08:09:28 -08:00
Copilotandcalda fc3a2ccb10 Update redundantEquatable to preserve == implementation in types with Strideable conformance (#2417)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 1fe1332f32 redundantParens: remove empty parens from attributes (#2414)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 4876d0a888 Fix support for backtick-escaped identifiers in unusedArguments for loop check (#2415)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda b7e7bce7f1 Improve handling of acronyms in swiftTestingTestCaseNames rule (#2413)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 7e749ac203 Fix unusedArguments incorrectly replacing type identifiers in typed for-loop bindings (#2411)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 6bd4fbef78 Improve how redundantType rule handles Set literals (#2410)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
CopilotandCal Stephens eee75a9eba Extend unusedArguments rule to handle for loop binding variables (#2404)
Co-authored-by: Cal Stephens <cal@calstephens.tech>
2026-03-03 08:09:28 -08:00
Copilotandcalda 603f28ed89 Document that propertyTypes handles Set and Dictionary literal transformations (#2409)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 39bdad4ac3 Update blankLinesAroundMark to insert blank line before MARK at start of scope when allowed by blankLinesAtStartOfScope config (#2405)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 22c2bb689e Remove spaces around :: module selection operator in spaceAroundOperators (#2402)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda b27a678852 Fix redundantInit rule: preserve .init with trailing closure on collection types for Swift < 6.4 (#2396)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
NachoSoto e7347a7315 Add redundantSendable rule (#2394) 2026-03-03 08:09:28 -08:00
Copilotandcalda 832cc7b94c Update simplifyGenericConstraints to avoid adding duplicate constraints (#2392)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 611e1525b5 Update swiftTestingTestCaseNames to handle test suites without @Suite macro (#2390)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda bb2b5c1ce1 Continue indenting closure params / return type when wrapped to next line (#2389)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 1c99e0efcb Fix issue where trailing comma can't be added to closure return type in Swift 6.2 (#2387)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Cal Stephens dc466cf37e Order redundantSwiftTestingSuite after swiftTestingTestCaseNames 2026-03-03 08:09:28 -08:00
Copilotandcalda c40b283622 Add --suite-name-format option to swiftTestingTestCaseNames rule (#2384)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
CopilotandCal Stephens aaedb601ea Add redundantSwiftTestingSuite rule (#2385)
Co-authored-by: Cal Stephens <cal@calstephens.tech>
2026-03-03 08:09:28 -08:00
Copilotandcalda a9ef5e4cdc Fix indentation for closure parameters on separate lines (#2379)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 0c55f9e3aa Update preferSwiftTesting rule to convert tests in XCTestCase extensions within the same file (#2380)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 9ad1e988cc Preserve private @Test functions for Swift Testing (#2381)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda c907873687 Update blankLinesBetweenImports to preserve indentation when indent disabled (#2377)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 92afced9ce Fix simplifyGenericConstraints leaving dangling where keyword in protocols (#2376)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:28 -08:00
Copilotandcalda 52e33850f9 Fix trailingCommas rule incorrectly adding commas to if #available checks (#2370)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:27 -08:00
Copilotandcalda db725a2a92 Fix issue where redundantViewBuilder would remove @ViewBuilder from protocol members (#2364)
Co-authored-by: calda <1811727+calda@users.noreply.github.com>
2026-03-03 08:09:27 -08:00
Cal Stephens 5b7bab1983 Add --test-case-name-format raw-identifiers option to swiftTestingTestCaseNames rule (enabled by default) (#2359) 2026-03-03 08:09:27 -08:00
Giyeop Hyeon (Jamie) 0c8a4613ef Add preferExplicitFalse rule (#2357) 2026-03-03 08:09:27 -08:00
Michal Šrůtek beb10e1e98 Fix redundantViewBuilder behavior in combination with MainActor (#2350) 2026-03-03 08:09:27 -08:00
Cal Stephens 22a472ced4 Update for 0.59.1 release 2026-01-29 19:55:41 -08:00
Cal Stephens 371139897b Fix handling of any keyword in sortTypealiases rule (#2348) 2026-01-29 19:53:51 -08:00
Cal Stephens f5b4809d2c Update redundantMemberwiseInit to preserve inits with attributes (#2346) 2026-01-29 19:53:51 -08:00