diff --git a/.idea/modules.xml b/.idea/modules.xml
index 8ef4fbfb9b1a..c652b82e289e 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -699,7 +699,6 @@
-
diff --git a/platform/inline-completion/frontend/api-dump.txt b/platform/inline-completion/frontend/api-dump.txt
deleted file mode 100644
index e69de29bb2d1..000000000000
diff --git a/platform/inline-completion/frontend/intellij.platform.inline.completion.frontend.iml b/platform/inline-completion/frontend/intellij.platform.inline.completion.frontend.iml
deleted file mode 100644
index 1969f56b236b..000000000000
--- a/platform/inline-completion/frontend/intellij.platform.inline.completion.frontend.iml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/platform/inline-completion/frontend/resources/intellij.platform.inline.completion.frontend.xml b/platform/inline-completion/frontend/resources/intellij.platform.inline.completion.frontend.xml
deleted file mode 100644
index 3d3bc5be5c56..000000000000
--- a/platform/inline-completion/frontend/resources/intellij.platform.inline.completion.frontend.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/platform/inline-completion/frontend/src/FrontendInlineCompletionHandlerInitializer.kt b/platform/inline-completion/frontend/src/FrontendInlineCompletionHandlerInitializer.kt
deleted file mode 100644
index 64704446afb1..000000000000
--- a/platform/inline-completion/frontend/src/FrontendInlineCompletionHandlerInitializer.kt
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.codeInsight.inline.completion.frontend
-
-import com.intellij.codeInsight.inline.completion.InlineCompletionHandler
-import com.intellij.codeInsight.inline.completion.InlineCompletionHandlerInitializer
-import com.intellij.codeInsight.inline.completion.InlineCompletionRemDevUtils
-import com.intellij.codeWithMe.ClientId
-import com.intellij.codeWithMe.ClientId.Companion.isLocal
-import com.intellij.openapi.Disposable
-import com.intellij.openapi.editor.Editor
-import kotlinx.coroutines.CoroutineScope
-
-internal class FrontendInlineCompletionHandlerInitializer : InlineCompletionHandlerInitializer {
- override fun initialize(editor: Editor, scope: CoroutineScope, disposable: Disposable): InlineCompletionHandler? {
- if (!ClientId.currentOrNull.isLocal && InlineCompletionRemDevUtils.isRhizomeUsed()) {
- return null
- }
- return FrontendInlineCompletionHandler(scope, editor, disposable)
- }
-}
diff --git a/platform/inline-completion/shared/resources/intellij.platform.inline.completion.xml b/platform/inline-completion/shared/resources/intellij.platform.inline.completion.xml
index 642a1b0113a1..39e1e69a31ee 100644
--- a/platform/inline-completion/shared/resources/intellij.platform.inline.completion.xml
+++ b/platform/inline-completion/shared/resources/intellij.platform.inline.completion.xml
@@ -1,5 +1,10 @@
+
+
+
+ dynamic="true"/>
\ No newline at end of file
diff --git a/platform/inline-completion/frontend/src/FrontendInlineCompletionHandler.kt b/platform/inline-completion/shared/src/InlineCompletionHandlerImpl.kt
similarity index 78%
rename from platform/inline-completion/frontend/src/FrontendInlineCompletionHandler.kt
rename to platform/inline-completion/shared/src/InlineCompletionHandlerImpl.kt
index 17a85c9fdfd1..385442f6b168 100644
--- a/platform/inline-completion/frontend/src/FrontendInlineCompletionHandler.kt
+++ b/platform/inline-completion/shared/src/InlineCompletionHandlerImpl.kt
@@ -1,18 +1,19 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.codeInsight.inline.completion.frontend
+package com.intellij.codeInsight.inline.completion
-import com.intellij.codeInsight.inline.completion.*
-import com.intellij.codeInsight.inline.completion.frontend.tooltip.onboarding.InlineCompletionOnboardingListener
import com.intellij.codeInsight.inline.completion.logs.InlineCompletionUsageTracker.ShownEvents.FinishType
+import com.intellij.codeInsight.inline.completion.onboarding.InlineCompletionOnboardingListener
import com.intellij.codeInsight.inline.completion.session.InlineCompletionContext
+import com.intellij.codeInsight.inline.completion.session.InlineCompletionInvalidationListener
import com.intellij.codeInsight.inline.completion.session.InlineCompletionSession
import com.intellij.codeInsight.inline.completion.session.InlineCompletionSessionManager
import com.intellij.codeInsight.inline.completion.suggestion.InlineCompletionSuggestionUpdateManager
import com.intellij.openapi.Disposable
import com.intellij.openapi.editor.Editor
+import com.intellij.util.EventDispatcher
import kotlinx.coroutines.CoroutineScope
-internal class FrontendInlineCompletionHandler(
+internal class InlineCompletionHandlerImpl(
scope: CoroutineScope,
editor: Editor,
parentDisposable: Disposable
@@ -23,6 +24,10 @@ internal class FrontendInlineCompletionHandler(
InlineCompletionOnboardingListener.createIfOnboarding(editor)?.let(::addEventListener)
}
+ // Fighting with 'AccessError' of protected method
+ private val myInvalidationListeners: EventDispatcher
+ get() = invalidationListeners
+
override fun startSessionOrNull(request: InlineCompletionRequest, provider: InlineCompletionProvider): InlineCompletionSession? {
return sessionManager.createSession(provider, request, parentDisposable, specificId = null)
}
@@ -41,10 +46,10 @@ internal class FrontendInlineCompletionHandler(
// TODO share with backend
when (val reason = invalidatedResult?.reason) {
is UpdateSessionResult.Invalidated.Reason.Event -> {
- invalidationListeners.multicaster.onInvalidatedByEvent(reason.event)
+ myInvalidationListeners.multicaster.onInvalidatedByEvent(reason.event)
}
UpdateSessionResult.Invalidated.Reason.UnclassifiedDocumentChange -> {
- invalidationListeners.multicaster.onInvalidatedByUnclassifiedDocumentChange()
+ myInvalidationListeners.multicaster.onInvalidatedByUnclassifiedDocumentChange()
}
null -> Unit
}
diff --git a/platform/inline-completion/shared/src/InlineCompletionHandlerInitializerImpl.kt b/platform/inline-completion/shared/src/InlineCompletionHandlerInitializerImpl.kt
new file mode 100644
index 000000000000..02a14a5a1892
--- /dev/null
+++ b/platform/inline-completion/shared/src/InlineCompletionHandlerInitializerImpl.kt
@@ -0,0 +1,12 @@
+// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
+package com.intellij.codeInsight.inline.completion
+
+import com.intellij.openapi.Disposable
+import com.intellij.openapi.editor.Editor
+import kotlinx.coroutines.CoroutineScope
+
+internal class InlineCompletionHandlerInitializerImpl : InlineCompletionHandlerInitializer {
+ override fun initialize(editor: Editor, scope: CoroutineScope, disposable: Disposable): InlineCompletionHandler {
+ return InlineCompletionHandlerImpl(scope, editor, disposable)
+ }
+}
diff --git a/platform/inline-completion/frontend/src/InlineCompletionNoSuggestionsListener.kt b/platform/inline-completion/shared/src/InlineCompletionNoSuggestionsListener.kt
similarity index 77%
rename from platform/inline-completion/frontend/src/InlineCompletionNoSuggestionsListener.kt
rename to platform/inline-completion/shared/src/InlineCompletionNoSuggestionsListener.kt
index a4c192172168..50e78f0abd68 100644
--- a/platform/inline-completion/frontend/src/InlineCompletionNoSuggestionsListener.kt
+++ b/platform/inline-completion/shared/src/InlineCompletionNoSuggestionsListener.kt
@@ -1,10 +1,7 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.codeInsight.inline.completion.frontend
+package com.intellij.codeInsight.inline.completion
import com.intellij.codeInsight.hint.HintManager
-import com.intellij.codeInsight.inline.completion.InlineCompletionEvent
-import com.intellij.codeInsight.inline.completion.InlineCompletionEventAdapter
-import com.intellij.codeInsight.inline.completion.InlineCompletionEventType
import com.intellij.codeInsight.inline.completion.logs.InlineCompletionUsageTracker
import com.intellij.codeInsight.inline.completion.session.InlineCompletionSession
import com.intellij.lang.LangBundle
diff --git a/platform/inline-completion/frontend/src/tooltip/onboarding/InlineCompletionOnboardingListener.kt b/platform/inline-completion/shared/src/onboarding/InlineCompletionOnboardingListener.kt
similarity index 95%
rename from platform/inline-completion/frontend/src/tooltip/onboarding/InlineCompletionOnboardingListener.kt
rename to platform/inline-completion/shared/src/onboarding/InlineCompletionOnboardingListener.kt
index 2d87392e515f..daa0ec089598 100644
--- a/platform/inline-completion/frontend/src/tooltip/onboarding/InlineCompletionOnboardingListener.kt
+++ b/platform/inline-completion/shared/src/onboarding/InlineCompletionOnboardingListener.kt
@@ -1,5 +1,5 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.codeInsight.inline.completion.frontend.tooltip.onboarding
+package com.intellij.codeInsight.inline.completion.onboarding
import com.intellij.codeInsight.inline.completion.InlineCompletionEventAdapter
import com.intellij.codeInsight.inline.completion.InlineCompletionEventType
diff --git a/platform/main/intellij.platform.frontend.main/intellij.platform.frontend.main.iml b/platform/main/intellij.platform.frontend.main/intellij.platform.frontend.main.iml
index ace4b88d4f66..26b79fefd92c 100644
--- a/platform/main/intellij.platform.frontend.main/intellij.platform.frontend.main.iml
+++ b/platform/main/intellij.platform.frontend.main/intellij.platform.frontend.main.iml
@@ -8,6 +8,5 @@
-
\ No newline at end of file
diff --git a/platform/platform-resources/src/META-INF/essential-modules.xml b/platform/platform-resources/src/META-INF/essential-modules.xml
index dbaf7ee3071b..718f8917faa1 100644
--- a/platform/platform-resources/src/META-INF/essential-modules.xml
+++ b/platform/platform-resources/src/META-INF/essential-modules.xml
@@ -24,6 +24,5 @@
-
\ No newline at end of file