in sdk/src/main/kotlin/ai/jetbrains/code/mellum/sdk/lsp/MellumCompletionHandler.kt [62:76]
override fun rawCompletion(params: CompletionParams): CompletableFuture<Either<List<CompletionItem>, CompletionList>> {
return CompletableFuture.supplyAsync<Either<List<CompletionItem>, CompletionList>> {
val documentPosition = DocumentProvider.Position(params.position.line, params.position.character)
val completionResult = MellumCompletionService(
documentProvider, languageProvider, fileSystemProvider, workspaceProvider, ollamaClient, modelName
).getCompletion(
URI(params.textDocument.uri), documentPosition
)
val completionItem = CompletionItem(completionResult)
completionItem.insertText = completionResult
Either.forLeft(listOf(completionItem))
}
}