Skip to content

Commit 0be87b3

Browse files
committed
Move code to post processing middleware
1 parent c875a4e commit 0be87b3

2 files changed

Lines changed: 13 additions & 10 deletions

File tree

Core/Sources/SuggestionService/SuggestionService.swift

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,16 +84,7 @@ public extension SuggestionService {
8484
}
8585
}
8686

87-
var result = try await getSuggestion(request, workspaceInfo)
88-
if !request.lines.isEmpty {
89-
for index in result.indices {
90-
let range = result[index].range
91-
let lowerBound = max(0, range.start.line)
92-
let upperBound = max(lowerBound, min(request.lines.count - 1, range.end.line))
93-
result[index].replacingLines = Array(request.lines[lowerBound...upperBound])
94-
}
95-
}
96-
return result
87+
return try await getSuggestion(request, workspaceInfo)
9788
} catch let error as SuggestionServiceError {
9889
throw error
9990
} catch {

Tool/Sources/SuggestionProvider/PostProcessingSuggestionServiceMiddleware.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,25 @@ public struct PostProcessingSuggestionServiceMiddleware: SuggestionServiceMiddle
1717
Self.removeTrailingWhitespacesAndNewlines(&suggestion)
1818
Self.removeRedundantClosingParenthesis(&suggestion, lines: request.lines)
1919
if !Self.checkIfSuggestionHasNoEffect(suggestion, request: request) { return nil }
20+
Self.injectReplacingLines(&suggestion, request: request)
2021
return suggestion
2122
}
2223
}
2324

2425
static func removeTrailingWhitespacesAndNewlines(_ suggestion: inout CodeSuggestion) {
2526
suggestion.text = suggestion.text.removedTrailingWhitespacesAndNewlines()
2627
}
28+
29+
static func injectReplacingLines(
30+
_ suggestion: inout CodeSuggestion,
31+
request: SuggestionRequest
32+
) {
33+
guard !request.lines.isEmpty else { return }
34+
let range = suggestion.range
35+
let lowerBound = max(0, range.start.line)
36+
let upperBound = max(lowerBound, min(request.lines.count - 1, range.end.line))
37+
suggestion.replacingLines = Array(request.lines[lowerBound...upperBound])
38+
}
2739

2840
/// Remove the parenthesis in the last line of the suggestion if
2941
/// - It contains only closing parenthesis

0 commit comments

Comments
 (0)