mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 06:05:01 +07:00
[java, completion] IJPL-207762 NegationInsertHandler is frontend-friendly
GitOrigin-RevId: a35b125635771142dd91abc25687431c1a14b111
This commit is contained in:
committed by
intellij-monorepo-bot
parent
6703a7363c
commit
6bf7cc68a0
@@ -82,6 +82,7 @@
|
||||
<completion.frontendFriendlyInsertHandler implementationClass="com.intellij.codeInsight.completion.method.DiamondInsertHandler"/>
|
||||
<completion.frontendFriendlyInsertHandler implementationClass="com.intellij.codeInsight.completion.method.RefStartInsertHandler"/>
|
||||
<completion.frontendFriendlyInsertHandler implementationClass="com.intellij.codeInsight.completion.method.MethodCallInstallerHandler"/>
|
||||
<completion.frontendFriendlyInsertHandler implementationClass="com.intellij.codeInsight.completion.method.NegationInsertHandler"/>
|
||||
|
||||
</extensions>
|
||||
</idea-plugin>
|
||||
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.codeInsight.completion.method
|
||||
|
||||
import com.intellij.codeInsight.completion.CodeCompletionFeatures
|
||||
import com.intellij.codeInsight.completion.FrontendFriendlyInsertHandler
|
||||
import com.intellij.codeInsight.completion.InsertionContext
|
||||
import com.intellij.codeInsight.completion.method.JavaMethodCallInsertHandlerHelper.findInsertedCall
|
||||
import com.intellij.codeInsight.lookup.LookupElement
|
||||
import com.intellij.featureStatistics.FeatureUsageTracker
|
||||
import kotlinx.serialization.Serializable
|
||||
import org.jetbrains.annotations.ApiStatus
|
||||
|
||||
@ApiStatus.Internal
|
||||
@Serializable
|
||||
class NegationInsertHandler : FrontendFriendlyInsertHandler {
|
||||
override fun handleInsert(context: InsertionContext, item: LookupElement) {
|
||||
if (context.completionChar != '!') return
|
||||
val methodCall = findInsertedCall(item, context) ?: return
|
||||
|
||||
//TODO IJPL-207762 where do we want statistics?
|
||||
FeatureUsageTracker.getInstance().triggerFeatureUsed(CodeCompletionFeatures.EXCLAMATION_FINISH)
|
||||
|
||||
context.setAddCompletionChar(false)
|
||||
|
||||
context.document.insertString(methodCall.textRange.startOffset, "!")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user