mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-02-04 23:39:07 +07:00
[inline-completion] ML-3566: show 'no suggestions' tooltip when there is no inline completion suggestions for direct call
GitOrigin-RevId: 4b0e3306765a02c252bbe1e7cb74ec4ac711011a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
49aae6f4f4
commit
beed64f67a
@@ -0,0 +1,26 @@
|
||||
// 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.codeInsight.hint.HintManager
|
||||
import com.intellij.codeInsight.inline.completion.logs.InlineCompletionUsageTracker
|
||||
import com.intellij.codeInsight.inline.completion.session.InlineCompletionSession
|
||||
import com.intellij.lang.LangBundle
|
||||
import com.intellij.openapi.editor.Editor
|
||||
|
||||
private class InlineCompletionNoSuggestionsListener(private val editor: Editor) : InlineCompletionEventAdapter {
|
||||
|
||||
override fun onHide(event: InlineCompletionEventType.Hide) {
|
||||
if (event.finishType == InlineCompletionUsageTracker.ShownEvents.FinishType.EMPTY) {
|
||||
val session = InlineCompletionSession.getOrNull(editor)
|
||||
if (session != null && session.request.event is InlineCompletionEvent.DirectCall) {
|
||||
HintManager.getInstance().showInformationHint(editor, LangBundle.message("completion.no.suggestions"), HintManager.ABOVE)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class InlineCompletionNoSuggestionListenerInstaller : InlineCompletionInstallListener {
|
||||
override fun handlerInstalled(editor: Editor, handler: InlineCompletionHandler) {
|
||||
handler.addEventListener(InlineCompletionNoSuggestionsListener(editor))
|
||||
}
|
||||
}
|
||||
@@ -1778,6 +1778,8 @@
|
||||
topic="com.intellij.codeInsight.daemon.DaemonCodeAnalyzer$DaemonListener"/>
|
||||
<listener class="com.intellij.codeInsight.inline.completion.InlineCompletionLookupManagerListener"
|
||||
topic="com.intellij.codeInsight.lookup.LookupManagerListener"/>
|
||||
<listener class="com.intellij.codeInsight.inline.completion.InlineCompletionNoSuggestionListenerInstaller"
|
||||
topic="com.intellij.codeInsight.inline.completion.InlineCompletionInstallListener"/>
|
||||
<listener class="com.intellij.codeInsight.inline.completion.TabEnterUsageDetector"
|
||||
topic="com.intellij.codeInsight.lookup.LookupManagerListener"/>
|
||||
<listener class="com.intellij.lang.documentation.ide.impl.DocumentationAutoPopupListener"
|
||||
|
||||
Reference in New Issue
Block a user