Skip to content

Commit 93c546b

Browse files
committed
Extract ranges from Codeium response
1 parent 92c19f5 commit 93c546b

2 files changed

Lines changed: 20 additions & 29 deletions

File tree

Core/Sources/CodeiumService/CodeiumLanguageServer.swift

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import Foundation
22
import JSONRPC
33
import LanguageClient
44
import LanguageServerProtocol
5+
import Logger
56

67
protocol CodeiumLSP {
78
func sendRequest<E: CodeiumRequestType>(_ endpoint: E) async throws -> E.Response
@@ -88,14 +89,18 @@ class CodeiumLanguageServer: CodeiumLSP {
8889
try await Task.sleep(nanoseconds: 1_000_000_000)
8990
waited += 1
9091
port = findPort()
91-
if port != nil { break }
92+
if port != nil {
93+
Logger.codeium.info("Language server started.")
94+
launchHandler?()
95+
return
96+
}
9297
if waited >= 60 {
9398
process.terminate()
9499
}
95100
}
96101
}
97102
} catch {
98-
print("start: ", error)
103+
Logger.codeium.error(error.localizedDescription)
99104
processTerminated(process)
100105
}
101106
}
@@ -111,25 +116,6 @@ class CodeiumLanguageServer: CodeiumLSP {
111116
terminationHandler?()
112117
}
113118

114-
func handleFileEvent(_ event: FileEvent) {
115-
switch event.type {
116-
case .created:
117-
let fileURL = URL(fileURLWithPath: event.uri)
118-
var isDirectory: ObjCBool = false
119-
if FileManager.default.fileExists(atPath: fileURL.path, isDirectory: &isDirectory),
120-
!isDirectory.boolValue
121-
{
122-
let portName = fileURL.lastPathComponent
123-
print("set port", portName)
124-
if port == nil {
125-
port = portName
126-
}
127-
}
128-
default:
129-
break
130-
}
131-
}
132-
133119
func sendRequest<E>(_ request: E) async throws -> E.Response where E: CodeiumRequestType {
134120
guard let port else { throw CancellationError() }
135121

@@ -140,15 +126,15 @@ class CodeiumLanguageServer: CodeiumLSP {
140126
let response = try JSONDecoder().decode(E.Response.self, from: data)
141127
return response
142128
} catch {
143-
dump(error)
129+
Logger.codeium.error(error.localizedDescription)
144130
throw error
145131
}
146132
} else {
147133
do {
148134
let error = try JSONDecoder().decode(CodeiumResponseError.self, from: data)
149135
throw error
150136
} catch {
151-
print(String(data: data, encoding: .utf8))
137+
Logger.codeium.error(error.localizedDescription)
152138
throw error
153139
}
154140
}

Core/Sources/CodeiumService/CodeiumService.swift

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ public class CodeiumSuggestionService: CodeiumSuggestionServiceType {
4949
let managerDirectoryURL = tempFolderURL
5050
.appendingPathComponent("com.intii.CopilotForXcode")
5151
.appendingPathComponent(UUID().uuidString)
52-
print(languageServerURL, managerDirectoryURL) //
5352
if !FileManager.default.fileExists(atPath: managerDirectoryURL.path) {
5453
try FileManager.default.createDirectory(
5554
at: managerDirectoryURL,
@@ -122,8 +121,6 @@ public class CodeiumSuggestionService: CodeiumSuggestionServiceType {
122121

123122
let result = try await server.sendRequest(request)
124123

125-
print(result.state)
126-
127124
return result.completionItems?.filter { item in
128125
if ignoreSpaceOnlySuggestions {
129126
return !item.completion.text.allSatisfy { $0.isWhitespace || $0.isNewline }
@@ -132,9 +129,18 @@ public class CodeiumSuggestionService: CodeiumSuggestionServiceType {
132129
}.map { item in
133130
CodeSuggestion(
134131
text: item.completion.text,
135-
position: .outOfScope,
132+
position: cursorPosition,
136133
uuid: item.completion.completionId,
137-
range: .outOfScope,
134+
range: CursorRange(
135+
start: .init(
136+
line: item.range.startPosition?.row.flatMap(Int.init) ?? 0,
137+
character: item.range.startPosition?.col.flatMap(Int.init) ?? 0
138+
),
139+
end: .init(
140+
line: item.range.endPosition?.row.flatMap(Int.init) ?? 0,
141+
character: item.range.endPosition?.col.flatMap(Int.init) ?? 0
142+
)
143+
),
138144
displayText: item.completion.text
139145
)
140146
} ?? []
@@ -178,4 +184,3 @@ public class CodeiumSuggestionService: CodeiumSuggestionServiceType {
178184
}
179185
}
180186

181-

0 commit comments

Comments
 (0)