diff --git a/src/main/kotlin/com/intellij/codeInsight/inline/completion/elements/InlineCompletionElement.kt b/src/main/kotlin/com/intellij/codeInsight/inline/completion/elements/InlineCompletionElement.kt index b9a181bb83..0876e8f182 100644 --- a/src/main/kotlin/com/intellij/codeInsight/inline/completion/elements/InlineCompletionElement.kt +++ b/src/main/kotlin/com/intellij/codeInsight/inline/completion/elements/InlineCompletionElement.kt @@ -2,4 +2,12 @@ // Apache 2.0 license. package com.intellij.codeInsight.inline.completion.elements +/** + * InlineCompletionElement is located in the following packages: + * - 2023.2 - com.intellij.codeInsight.inline.completion + * - 2023.3+ - com.intellij.codeInsight.inline.completion.elements + * + * We need that class in CodyInlineCompletionProvider::getSuggestion which is an API from 2023.3+ so + * we need to provide our own stub to make compiler happy with IntelliJ platform 2023.2. + */ interface InlineCompletionElement diff --git a/src/main/kotlin/com/sourcegraph/cody/autocomplete/CodyInlineCompletionProvider.kt b/src/main/kotlin/com/sourcegraph/cody/autocomplete/CodyInlineCompletionProvider.kt index 32707d77d0..0cfa2efb4a 100644 --- a/src/main/kotlin/com/sourcegraph/cody/autocomplete/CodyInlineCompletionProvider.kt +++ b/src/main/kotlin/com/sourcegraph/cody/autocomplete/CodyInlineCompletionProvider.kt @@ -1,10 +1,6 @@ package com.sourcegraph.cody.autocomplete -import com.intellij.codeInsight.inline.completion.InlineCompletionElement -import com.intellij.codeInsight.inline.completion.InlineCompletionEvent -import com.intellij.codeInsight.inline.completion.InlineCompletionProvider -import com.intellij.codeInsight.inline.completion.InlineCompletionRequest -import com.intellij.codeInsight.inline.completion.InlineCompletionSuggestion +import com.intellij.codeInsight.inline.completion.* import com.intellij.codeInsight.inline.completion.elements.InlineCompletionGrayTextElement import com.intellij.openapi.application.ApplicationInfo import com.intellij.openapi.application.ApplicationManager @@ -32,8 +28,6 @@ import java.util.concurrent.CompletableFuture import java.util.concurrent.TimeUnit import java.util.concurrent.atomic.AtomicReference -@JvmInline value class InlineCompletionProviderID(val id: String) - class CodyInlineCompletionProvider : InlineCompletionProvider { private val logger = Logger.getInstance(CodyInlineCompletionProvider::class.java) private val currentJob = AtomicReference(CancellationToken()) @@ -145,6 +139,9 @@ class CodyInlineCompletionProvider : InlineCompletionProvider { return isEnabled() } + // Needed to compile with IntelliJ platform 2023.2, not used in 2024.2+. + // What follows InlineCompletionElement need to be in the same package as in 2023.2, not in + // 2024.2+ (it was moved). override suspend fun getProposals( request: InlineCompletionRequest ): List {