Skip to content

Commit 3a431bd

Browse files
committed
Open and edit documents in syntactic-only mode in sourcekitd
With this change, opening and editing a document no longer causes a non-cancellable AST build. Instead, all semantic information is retrieved via requests that can be cancelled (after we implement cancellation).
1 parent 080e664 commit 3a431bd

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

Sources/SourceKitLSP/Swift/SwiftLanguageServer.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,7 @@ extension SwiftLanguageServer {
343343
req[keys.request] = self.requests.editor_open
344344
req[keys.name] = note.textDocument.uri.pseudoPath
345345
req[keys.sourcetext] = snapshot.text
346+
req[keys.syntactic_only] = 1
346347

347348
let compileCommand = await self.buildSettings(for: snapshot.uri)
348349

@@ -430,6 +431,7 @@ extension SwiftLanguageServer {
430431
let req = SKDRequestDictionary(sourcekitd: self.sourcekitd)
431432
req[keys.request] = self.requests.editor_replacetext
432433
req[keys.name] = note.textDocument.uri.pseudoPath
434+
req[keys.syntactic_only] = 1
433435

434436
if let range = edit.range {
435437
guard let offset = before.utf8OffsetOf(line: range.lowerBound.line, utf16Column: range.lowerBound.utf16index),

0 commit comments

Comments
 (0)