Files
Steffeeen d748f80896 Implement support for textDocument/selectionRange
This enables hierarchical selection expansion in supported editors.

Selection ranges are computed from the AST by walking upward from the
smallest enclosing node to the root. This is implemented by AST nodes
conforming to the `SelectionRangeProvider` protocol. Most nodes use a
default implementation which returns the node's `trimmedRange`.
Other nodes are special-cased to adjust the returned selection ranges
based on other factors.
2026-02-26 09:15:01 +01:00

96 lines
2.7 KiB
CMake

add_library(SwiftLanguageService STATIC
AdjustPositionToStartOfArgument.swift
AdjustPositionToStartOfIdentifier.swift
ClosureCompletionFormat.swift
CodeActions/AddDocumentation.swift
CodeActions/ApplyDeMorganLaw.swift
CodeActions/ConvertIfLetToGuard.swift
CodeActions/ConvertIntegerLiteral.swift
CodeActions/ConvertJSONToCodableStruct.swift
CodeActions/ConvertStringConcatenationToStringInterpolation.swift
CodeActions/PackageManifestEdits.swift
CodeActions/RemoveUnusedImports.swift
CodeActions/SyntaxCodeActionProvider.swift
CodeActions/SyntaxCodeActions.swift
CodeActions/SyntaxRefactoringCodeActionProvider.swift
CodeCompletion.swift
CodeCompletionSession.swift
CommentXML.swift
CursorInfo.swift
Diagnostic.swift
DiagnosticReportManager.swift
DocumentFormatting.swift
DocumentSymbols.swift
ExpandMacroCommand.swift
FoldingRange.swift
GeneratedInterfaceManager.swift
IndentationRemover.swift
InlayHints.swift
InlayHintResolve.swift
MacroExpansion.swift
OpenInterface.swift
PlaygroundDiscovery.swift
SwiftPlaygroundsScanner.swift
RefactoringEdit.swift
RefactoringResponse.swift
RelatedIdentifiers.swift
Rename.swift
RewriteSourceKitPlaceholders.swift
SelectionRange.swift
SemanticRefactorCommand.swift
SemanticRefactoring.swift
SemanticTokens.swift
SignatureHelp.swift
SwiftCodeLensScanner.swift
SwiftCommand.swift
SwiftLanguageService.swift
SwiftTestingScanner.swift
SymbolGraph.swift
SymbolInfo.swift
SyntacticSwiftXCTestScanner.swift
SyntaxHighlightingToken.swift
SyntaxHighlightingTokenParser.swift
SyntaxHighlightingTokens.swift
SyntaxTreeManager.swift
TestDiscovery.swift
TypeDefinition.swift
VariableTypeInfo.swift
)
set_target_properties(SwiftLanguageService PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_Swift_MODULE_DIRECTORY})
target_link_libraries(SwiftLanguageService PUBLIC
BuildServerIntegration
Crypto
SwiftToolsProtocols::LanguageServerProtocol
SKOptions
SourceKitD
SourceKitLSP
ToolchainRegistry
IndexStoreDB
SwiftSyntax::SwiftBasicFormat
SwiftSyntax::SwiftSyntax
)
target_link_libraries(SwiftLanguageService PRIVATE
SwiftToolsProtocols::BuildServerProtocol
Csourcekitd
LanguageServerProtocolExtensions
SwiftToolsProtocols::LanguageServerProtocolTransport
SemanticIndex
SwiftToolsProtocols::SKLogging
SKUtilities
SwiftExtensions
SwiftToolsProtocols::ToolsProtocolsSwiftExtensions
TSCExtensions
TSCBasic
SwiftSyntax::SwiftDiagnostics
SwiftSyntax::SwiftIDEUtils
SwiftSyntax::SwiftOperators
SwiftSyntax::SwiftParser
SwiftSyntax::SwiftParserDiagnostics
SwiftSyntax::SwiftRefactor
SwiftSyntax::SwiftSyntaxBuilder
$<$<NOT:$<PLATFORM_ID:Darwin>>:FoundationXML>
)