Skip to content

Commit e4fe3d4

Browse files
committed
Apply PR suggestions
- Rename charDelta to lastLineCharDelta - Return non-optional from updateDocumentTokens closure
1 parent 46b3232 commit e4fe3d4

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

Sources/SourceKitLSP/DocumentManager.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ public final class DocumentManager {
128128
newVersion: Int,
129129
edits: [TextDocumentContentChangeEvent],
130130
willEditDocument: ((_ before: DocumentSnapshot, TextDocumentContentChangeEvent) -> Void)? = nil,
131-
updateDocumentTokens: ((_ after: DocumentSnapshot) -> DocumentTokens?)? = nil
131+
updateDocumentTokens: ((_ after: DocumentSnapshot) -> DocumentTokens)? = nil
132132
) throws -> DocumentSnapshot {
133133
return try queue.sync {
134134
guard let document = documents[uri] else {
@@ -155,7 +155,7 @@ public final class DocumentManager {
155155
let upperUtf16IndexAfterEdit = (
156156
newLines.count == 1 ? range.lowerBound.utf16index : 0
157157
) + newLines.last!.utf16.count
158-
let charDelta = upperUtf16IndexAfterEdit - range.upperBound.utf16index
158+
let lastLineCharDelta = upperUtf16IndexAfterEdit - range.upperBound.utf16index
159159
let lineDelta = newLines.count - replacedLineCount // may be negative
160160

161161
document.latestTokens.withMutableTokensOfEachKind { tokens in
@@ -169,7 +169,7 @@ public final class DocumentManager {
169169
var token = $0
170170
if token.start.line == range.upperBound.line
171171
&& token.start.utf16index >= range.upperBound.utf16index {
172-
token.move(lineDelta: lineDelta, utf16indexDelta: charDelta)
172+
token.move(lineDelta: lineDelta, utf16indexDelta: lastLineCharDelta)
173173
} else if token.start.line > range.upperBound.line {
174174
token.move(lineDelta: lineDelta)
175175
}
@@ -182,8 +182,8 @@ public final class DocumentManager {
182182
document.latestTokens = DocumentTokens()
183183
}
184184

185-
if let f = updateDocumentTokens, let tokens = f(document.latestSnapshot) {
186-
document.latestTokens = tokens
185+
if let f = updateDocumentTokens {
186+
document.latestTokens = f(document.latestSnapshot)
187187
}
188188
}
189189

@@ -245,7 +245,7 @@ extension DocumentManager {
245245
func edit(
246246
_ note: DidChangeTextDocumentNotification,
247247
willEditDocument: ((_ before: DocumentSnapshot, TextDocumentContentChangeEvent) -> Void)? = nil,
248-
updateDocumentTokens: ((_ after: DocumentSnapshot) -> DocumentTokens?)? = nil
248+
updateDocumentTokens: ((_ after: DocumentSnapshot) -> DocumentTokens)? = nil
249249
) -> DocumentSnapshot? {
250250
return orLog("failed to edit document", level: .error) {
251251
try edit(

0 commit comments

Comments
 (0)