From cf93e63cd16de27c44bf8ac159b1cc888fd7e2b5 Mon Sep 17 00:00:00 2001 From: Dmitry Osinovskiy Date: Mon, 14 Apr 2025 19:38:28 +0200 Subject: [PATCH] Lookup: create LookupDisplayStrategy EP to customize a method of displaying of the lookup; would allow removing LookupProvider EP - fix GitOrigin-RevId: 4d7780dde40e23c94bd4e51d3f34077c81945dc7 --- .../intellij/codeInsight/lookup/impl/LookupDisplayStrategy.kt | 1 + .../src/com/intellij/codeInsight/lookup/impl/LookupImpl.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupDisplayStrategy.kt b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupDisplayStrategy.kt index d8df25354248..e1fa1512e323 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupDisplayStrategy.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupDisplayStrategy.kt @@ -26,6 +26,7 @@ interface LookupDisplayStrategy { @Internal val EP_NAME: ExtensionPointName = ExtensionPointName("com.intellij.lookup.displayStrategy") + @JvmStatic fun getStrategy(e: Editor): LookupDisplayStrategy = EP_NAME.extensionList.firstOrNull { it.isAvailable(e) } ?: LookupDisplayAsHintStrategy } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java index 2a808225a258..3daa12eaddcb 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/lookup/impl/LookupImpl.java @@ -138,7 +138,7 @@ public class LookupImpl extends LightweightHint implements LookupEx, Disposable, myArranger = arranger; myPresentableArranger = arranger; this.editor.getColorsScheme().getFontPreferences().copyTo(myFontPreferences); - myDisplayStrategy = LookupDisplayStrategy.Companion.getStrategy(editor); + myDisplayStrategy = LookupDisplayStrategy.getStrategy(editor); DaemonCodeAnalyzer.getInstance(session.getProject()).disableUpdateByTimer(this);