Files
sourcekit-lsp/Sources/SwiftLanguageService/CodeActions/SyntaxCodeActions.swift
T
Alex Hoppen 8920d78f3b Report convert-to-computed and convert-to-stored refactoring actions
These were implemented in swift-syntax but never added to the list of refactoring actions reported by SourceKit-LSP.

While at this, also fix two other things:
- Report an error if we non-exhaustively checked that we had an empty array of code actions, since this was a tautology
- Allow ignoring code actions that we don’t want to check for (needed to write sensible exhaustive checks)
- Fixed a bug that caused convert-to-zero-parameter-function to be reported when on a return statement in an accessor block
2026-02-28 19:31:36 +01:00

45 lines
1.7 KiB
Swift

//===----------------------------------------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2024 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
import SwiftRefactor
/// List of all of the syntactic code action providers, which can be used
/// to produce code actions using only the swift-syntax tree of a file.
let allSyntaxCodeActions: [any SyntaxCodeActionProvider.Type] = {
var result: [any SyntaxCodeActionProvider.Type] = [
AddDocumentation.self,
AddSeparatorsToIntegerLiteral.self,
ApplyDeMorganLaw.self,
ConvertComputedPropertyToStored.self,
ConvertComputedPropertyToZeroParameterFunction.self,
ConvertIfLetToGuard.self,
ConvertIntegerLiteral.self,
ConvertJSONToCodableStruct.self,
ConvertStringConcatenationToStringInterpolation.self,
ConvertZeroParameterFunctionToComputedProperty.self,
FormatRawStringLiteral.self,
MigrateToNewIfLetSyntax.self,
OpaqueParameterToGeneric.self,
RemoveRedundantParentheses.self,
RemoveSeparatorsFromIntegerLiteral.self,
]
#if !NO_SWIFTPM_DEPENDENCY
result.append(PackageManifestEdits.self)
#endif
return result
}()
let supersededSourcekitdRefactoringActions: Set<String> = [
"source.refactoring.kind.convert.to.computed.property", // Superseded by ConvertStoredPropertyToComputed
"source.refactoring.kind.simplify.long.number.literal", // Superseded by AddSeparatorsToIntegerLiteral
]