Skip to content

Commit 1d10f82

Browse files
committed
Make SyntaxHighlightingTokenParser.parseTokens that take an inout parameter private
This simlifies the callers of `SyntaxHighlightingTokenParser`.
1 parent ffbf025 commit 1d10f82

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

Sources/SourceKitLSP/Swift/SemanticTokens.swift

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@
1212

1313
import LSPLogging
1414
import LanguageServerProtocol
15+
import SourceKitD
1516
import SwiftIDEUtils
1617
import SwiftParser
1718
import SwiftSyntax
18-
import SourceKitD
1919

2020
extension SwiftLanguageServer {
2121
/// Requests the semantic highlighting tokens for the given snapshot from sourcekitd.
2222
private func semanticHighlightingTokens(for snapshot: DocumentSnapshot) async throws -> [SyntaxHighlightingToken]? {
2323
guard let buildSettings = await self.buildSettings(for: snapshot.uri), !buildSettings.isFallback else {
2424
return nil
2525
}
26-
26+
2727
let skreq = SKDRequestDictionary(sourcekitd: self.sourcekitd)
2828
skreq[keys.request] = requests.semantic_tokens
2929
skreq[keys.sourcefile] = snapshot.uri.pseudoPath
@@ -36,10 +36,7 @@ extension SwiftLanguageServer {
3636
guard let skTokens: SKDResponseArray = dict[keys.semantic_tokens] else {
3737
return nil
3838
}
39-
let tokenParser = SyntaxHighlightingTokenParser(sourcekitd: sourcekitd)
40-
var tokens: [SyntaxHighlightingToken] = []
41-
tokenParser.parseTokens(skTokens, in: snapshot, into: &tokens)
42-
return tokens
39+
return SyntaxHighlightingTokenParser(sourcekitd: sourcekitd).parseTokens(skTokens, in: snapshot)
4340
}
4441

4542
/// Computes an array of syntax highlighting tokens from the syntax tree that
@@ -56,12 +53,13 @@ extension SwiftLanguageServer {
5653
) async -> [SyntaxHighlightingToken] {
5754
async let tree = syntaxTreeManager.syntaxTree(for: snapshot)
5855
async let semanticTokens = await orLog { try await semanticHighlightingTokens(for: snapshot) }
59-
60-
let range = if let range = range.flatMap({ $0.byteSourceRange(in: snapshot) }) {
61-
range
62-
} else {
63-
ByteSourceRange(offset: 0, length: await tree.totalLength.utf8Length)
64-
}
56+
57+
let range =
58+
if let range = range.flatMap({ $0.byteSourceRange(in: snapshot) }) {
59+
range
60+
} else {
61+
ByteSourceRange(offset: 0, length: await tree.totalLength.utf8Length)
62+
}
6563
return
6664
await tree
6765
.classifications(in: range)

Sources/SourceKitLSP/Swift/SyntaxHighlightingTokenParser.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ struct SyntaxHighlightingTokenParser {
2222
self.sourcekitd = sourcekitd
2323
}
2424

25-
func parseTokens(
25+
private func parseTokens(
2626
_ response: SKDResponseDictionary,
2727
in snapshot: DocumentSnapshot,
2828
into tokens: inout [SyntaxHighlightingToken]
@@ -67,7 +67,7 @@ struct SyntaxHighlightingTokenParser {
6767
}
6868
}
6969

70-
func parseTokens(
70+
private func parseTokens(
7171
_ response: SKDResponseArray,
7272
in snapshot: DocumentSnapshot,
7373
into tokens: inout [SyntaxHighlightingToken]
@@ -78,6 +78,12 @@ struct SyntaxHighlightingTokenParser {
7878
}
7979
}
8080

81+
func parseTokens(_ response: SKDResponseArray, in snapshot: DocumentSnapshot) -> [SyntaxHighlightingToken] {
82+
var tokens: [SyntaxHighlightingToken] = []
83+
parseTokens(response, in: snapshot, into: &tokens)
84+
return tokens
85+
}
86+
8187
private func parseKindAndModifiers(
8288
_ uid: sourcekitd_uid_t
8389
) -> (SyntaxHighlightingToken.Kind, SyntaxHighlightingToken.Modifiers)? {

0 commit comments

Comments
 (0)