From f1b5da3f929130a01e57f8595a2213f5b4c501b3 Mon Sep 17 00:00:00 2001 From: anstarovoyt Date: Thu, 6 Sep 2018 19:30:17 +0300 Subject: [PATCH] platform: use better offset for fix --- .../daemon/impl/DaemonTooltipActionProvider.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipActionProvider.kt b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipActionProvider.kt index bbc3a8b6f701..3f28f7ce38bf 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipActionProvider.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/daemon/impl/DaemonTooltipActionProvider.kt @@ -6,6 +6,7 @@ import com.intellij.codeInsight.intention.AbstractEmptyIntentionAction import com.intellij.codeInsight.intention.IntentionAction import com.intellij.codeInsight.intention.IntentionActionDelegate import com.intellij.codeInsight.intention.impl.CachedIntentions +import com.intellij.codeInsight.intention.impl.IntentionActionWithTextCaching import com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler import com.intellij.ide.actions.ActionsCollector import com.intellij.openapi.application.ApplicationManager @@ -114,8 +115,12 @@ fun getFirstAvailableAction(psiFile: PsiFile, return null } -fun wrapIntentionToTooltipAction(intention: IntentionAction, info: HighlightInfo) = - DaemonTooltipAction(intention.text, info.actualStartOffset) +fun wrapIntentionToTooltipAction(intention: IntentionAction, info: HighlightInfo): TooltipAction { + val pair = info.quickFixActionRanges?.find { it.first?.action == intention } + val offset = pair?.second?.startOffset ?: info.actualStartOffset + + return DaemonTooltipAction(intention.text, offset) +}