mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[command-completion] IDEA-359174 delete icons and use grey bulb
GitOrigin-RevId: 3cd804645a186a66273ed8a0365c33ac01718ae4
This commit is contained in:
committed by
intellij-monorepo-bot
parent
78ad85bd97
commit
b800c63163
-3
@@ -14,7 +14,6 @@ import com.intellij.psi.PsiField
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.psi.PsiIdentifier
|
||||
import com.intellij.psi.util.PsiTreeUtil
|
||||
import javax.swing.Icon
|
||||
|
||||
internal class GenerateGetterSetterHandleCompletionCommandProvider : CommandProvider {
|
||||
override fun getCommands(context: CommandCompletionProviderContext): List<CompletionCommand> {
|
||||
@@ -57,8 +56,6 @@ private class BaseGenerateGetterSetterHandleCompletionCommand(
|
||||
private val preview: () -> IntentionPreviewInfo?,
|
||||
) : CompletionCommand(), CompletionCommandWithPreview {
|
||||
|
||||
override val icon: Icon? = null
|
||||
|
||||
override fun execute(offset: Int, psiFile: PsiFile, editor: Editor?) {
|
||||
val element = getCommandContext(offset, psiFile) ?: return
|
||||
val field = PsiTreeUtil.getParentOfType(element, PsiField::class.java) ?: return
|
||||
|
||||
-3
@@ -22,7 +22,6 @@ import com.intellij.psi.util.PsiTreeUtil
|
||||
import com.intellij.psi.util.PsiUtil
|
||||
import com.intellij.psi.util.parentOfType
|
||||
import org.jetbrains.annotations.Nls
|
||||
import javax.swing.Icon
|
||||
|
||||
|
||||
internal class JavaCreateFromUsagesCommandProvider : CommandProvider {
|
||||
@@ -54,8 +53,6 @@ internal class JavaCreateFromUsagesCompletionCommand(val psiClass: PsiClass) : C
|
||||
get() = listOf("Create method from usage")
|
||||
override val presentableName: @Nls String
|
||||
get() = QuickFixBundle.message("create.method.from.usage.family")
|
||||
override val icon: Icon?
|
||||
get() = null
|
||||
|
||||
override fun execute(offset: Int, psiFile: PsiFile, editor: Editor?) {
|
||||
val fileDocument = psiFile.fileDocument
|
||||
|
||||
-3
@@ -13,7 +13,6 @@ import com.intellij.openapi.project.DumbAware
|
||||
import com.intellij.psi.*
|
||||
import com.intellij.psi.util.PsiTreeUtil
|
||||
import org.jetbrains.annotations.Nls
|
||||
import javax.swing.Icon
|
||||
|
||||
internal class JavaDeleteCompletionCommandProvider : CommandProvider {
|
||||
override fun getCommands(context: CommandCompletionProviderContext): List<CompletionCommand> {
|
||||
@@ -66,8 +65,6 @@ private class JavaDeleteCompletionCommand(
|
||||
get() = listOf("delete", "remove")
|
||||
override val presentableName: @Nls String
|
||||
get() = JavaBundle.message("command.completion.delete.element.text")
|
||||
override val icon: Icon?
|
||||
get() = null
|
||||
override val priority: Int
|
||||
get() = -100
|
||||
|
||||
|
||||
-5
@@ -3,7 +3,6 @@ package com.intellij.codeInsight.completion.commands.impl
|
||||
|
||||
import com.intellij.codeInsight.completion.command.*
|
||||
import com.intellij.codeInsight.intention.preview.IntentionPreviewInfo
|
||||
import com.intellij.icons.AllIcons
|
||||
import com.intellij.ide.DataManager
|
||||
import com.intellij.idea.ActionsBundle
|
||||
import com.intellij.lang.ContextAwareActionHandler
|
||||
@@ -19,7 +18,6 @@ import com.intellij.refactoring.RefactoringBundle
|
||||
import com.intellij.refactoring.actions.IntroduceVariableAction
|
||||
import org.jetbrains.annotations.Nls
|
||||
import java.util.Locale.getDefault
|
||||
import javax.swing.Icon
|
||||
|
||||
//disabled because there is a conflict
|
||||
internal class JavaIntroduceVariableCommandProvider : CommandProvider {
|
||||
@@ -49,9 +47,6 @@ internal class JavaIntroduceVariableCommand : CompletionCommand(), CompletionCom
|
||||
override val presentableName: @Nls String
|
||||
get() = RefactoringBundle.message("introduce.variable.title").lowercase().replaceFirstChar { if (it.isLowerCase()) it.titlecase(getDefault()) else it.toString() }
|
||||
|
||||
override val icon: Icon
|
||||
get() = AllIcons.Nodes.Variable
|
||||
|
||||
override fun execute(offset: Int, psiFile: PsiFile, editor: Editor?) {
|
||||
val action = IntroduceVariableAction()
|
||||
if (editor == null) return
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
- a:execute(I,com.intellij.psi.PsiFile,com.intellij.openapi.editor.Editor):V
|
||||
- getAdditionalInfo():java.lang.String
|
||||
- getHighlightInfo():com.intellij.codeInsight.completion.command.HighlightInfoLookup
|
||||
- a:getIcon():javax.swing.Icon
|
||||
- getIcon():javax.swing.Icon
|
||||
- a:getPresentableName():java.lang.String
|
||||
- getPriority():java.lang.Integer
|
||||
- getSynonyms():java.util.List
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ abstract class CompletionCommand : UserDataHolderBase() {
|
||||
* Represents a localized, human-readable name for the command, used as a main lookup string
|
||||
*/
|
||||
abstract val presentableName: @Nls String
|
||||
abstract val icon: Icon?
|
||||
open val icon: Icon? = null
|
||||
|
||||
/**
|
||||
* Defines the priority of the command in the code completion system.
|
||||
|
||||
@@ -189,7 +189,6 @@ c:com.intellij.codeInsight.actions.VcsFacade
|
||||
- <init>():V
|
||||
- f:execute(I,com.intellij.psi.PsiFile,com.intellij.openapi.editor.Editor):V
|
||||
- a:findTargetToRefactor(com.intellij.psi.PsiElement):com.intellij.psi.PsiElement
|
||||
- f:getIcon():javax.swing.Icon
|
||||
- f:getPresentableName():java.lang.String
|
||||
- getPreview():com.intellij.codeInsight.intention.preview.IntentionPreviewInfo
|
||||
- f:getSynonyms():java.util.List
|
||||
@@ -213,7 +212,6 @@ c:com.intellij.codeInsight.actions.VcsFacade
|
||||
- f:getAction():com.intellij.codeInsight.actions.CodeInsightAction
|
||||
- f:getCustomI18nName():java.lang.String
|
||||
- f:getCustomName():java.lang.String
|
||||
- getIcon():javax.swing.Icon
|
||||
- getPresentableName():java.lang.String
|
||||
- f:setCustomI18nName(java.lang.String):V
|
||||
- f:setCustomName(java.lang.String):V
|
||||
|
||||
+2
-1
@@ -8,6 +8,7 @@ import com.intellij.codeInsight.completion.ml.MLWeigherUtil
|
||||
import com.intellij.codeInsight.lookup.LookupElement
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder
|
||||
import com.intellij.codeInsight.lookup.LookupElementWeigher
|
||||
import com.intellij.icons.AllIcons.Actions.IntentionBulbGrey
|
||||
import com.intellij.icons.AllIcons.Actions.Lightning
|
||||
import com.intellij.injected.editor.DocumentWindow
|
||||
import com.intellij.injected.editor.EditorWindow
|
||||
@@ -180,7 +181,7 @@ internal class CommandCompletionProvider : CompletionProvider<CompletionParamete
|
||||
.withLookupStrings(command.synonyms)
|
||||
.withPresentableText(lookupString)
|
||||
.withTypeText(tailText)
|
||||
.withIcon(command.icon ?: Lightning)
|
||||
.withIcon(command.icon ?: IntentionBulbGrey)
|
||||
.withInsertHandler(CommandInsertHandler(command))
|
||||
.withBoldness(false),
|
||||
command,
|
||||
|
||||
+1
-32
@@ -6,8 +6,6 @@ import com.intellij.codeInsight.completion.command.configuration.ApplicationComm
|
||||
import com.intellij.codeInsight.daemon.impl.HintRenderer
|
||||
import com.intellij.codeInsight.editorLineStripeHint.EditorLineStripeTextRenderer
|
||||
import com.intellij.codeInsight.highlighting.HighlightManager
|
||||
import com.intellij.codeInsight.hints.presentation.PresentationFactory
|
||||
import com.intellij.codeInsight.hints.presentation.PresentationRenderer
|
||||
import com.intellij.codeInsight.lookup.*
|
||||
import com.intellij.codeInsight.lookup.CharFilter.CUSTOM_DEFAULT_CHAR_FILTERS
|
||||
import com.intellij.codeInsight.lookup.impl.LookupCustomizer
|
||||
@@ -195,7 +193,6 @@ private val SUPPRESS_PREDICATE_KEY = Key.create<EditorHighlightingPredicate>("co
|
||||
private val PROMPT_HIGHLIGHTING = Key.create<RangeHighlighter>("completion.command.prompt.highlighting")
|
||||
|
||||
private val LOOKUP_HIGHLIGHTING = Key.create<List<RangeHighlighter>>("completion.command.lookup.highlighting")
|
||||
private val ICON_RENDER = Key.create<Inlay<PresentationRenderer?>>("completion.command.icon.render")
|
||||
private const val PROMPT_LAYER = HighlighterLayer.ERROR + 10
|
||||
|
||||
@ApiStatus.Internal
|
||||
@@ -250,8 +247,6 @@ private class CommandCompletionHighlightingListener(
|
||||
|
||||
private fun clear(editor: Editor?) {
|
||||
clearPromptHighlighting(editor)
|
||||
val renderer = lookup.removeUserData(ICON_RENDER)
|
||||
renderer?.let { Disposer.dispose(it) }
|
||||
|
||||
val project = editor?.project ?: return
|
||||
val highlightManager = HighlightManager.getInstance(project)
|
||||
@@ -288,30 +283,6 @@ private class CommandCompletionHighlightingListener(
|
||||
super.lookupCanceled(event)
|
||||
}
|
||||
|
||||
private fun updateIcon(lookup: LookupImpl, element: CommandCompletionLookupElement) {
|
||||
if (lookup.getUserData(INSTALLED_ADDITIONAL_MATCHER_KEY) != true) {
|
||||
return
|
||||
}
|
||||
val renderer = lookup.getUserData(ICON_RENDER)
|
||||
renderer?.let { Disposer.dispose(it) }
|
||||
if (element.icon != null) {
|
||||
val factory = PresentationFactory(editor)
|
||||
val iconPresentation = factory.icon(element.icon)
|
||||
val presentationRenderer = PresentationRenderer(iconPresentation)
|
||||
val lookupEditor = InjectedLanguageEditorUtil.getTopLevelEditor(lookup.editor)
|
||||
val inlay: Inlay<PresentationRenderer?>? =
|
||||
if (nonWrittenFiles) {
|
||||
lookupEditor.inlayModel.addInlineElement(0, false, presentationRenderer)
|
||||
}
|
||||
else {
|
||||
lookupEditor.inlayModel.addInlineElement(element.hostStartOffset, true, presentationRenderer)
|
||||
}
|
||||
if (inlay != null) {
|
||||
lookup.putUserData(ICON_RENDER, inlay)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun updatePromptHighlighting(lookup: LookupImpl, item: CommandCompletionLookupElement) {
|
||||
val installed = ConcurrencyUtil.computeIfAbsent(lookup, INSTALLED_PROMPT_KEY) { AtomicBoolean(false) }
|
||||
val startOffset = lookup.lookupOriginalStart - findActualIndex(item.suffix, editor.document.immutableCharSequence,
|
||||
@@ -340,9 +311,7 @@ private class CommandCompletionHighlightingListener(
|
||||
if (lookup !is LookupImpl) return
|
||||
completionService?.setHint(lookup, editor, nonWrittenFiles)
|
||||
val item = event.item
|
||||
if (updateItem(item)) return
|
||||
val element = item?.`as`(CommandCompletionLookupElement::class.java) ?: return
|
||||
updateIcon(lookup, element)
|
||||
updateItem(item)
|
||||
}
|
||||
|
||||
private fun updateHighlighting(lookup: LookupImpl, element: CommandCompletionLookupElement) {
|
||||
|
||||
-4
@@ -4,7 +4,6 @@ package com.intellij.codeInsight.completion.command.commands
|
||||
import com.intellij.codeInsight.actions.ReformatCodeProcessor
|
||||
import com.intellij.codeInsight.completion.command.*
|
||||
import com.intellij.codeInsight.intention.preview.IntentionPreviewInfo
|
||||
import com.intellij.icons.AllIcons
|
||||
import com.intellij.idea.ActionsBundle
|
||||
import com.intellij.lang.injection.InjectedLanguageManager
|
||||
import com.intellij.openapi.editor.Editor
|
||||
@@ -12,7 +11,6 @@ import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiFile
|
||||
import org.jetbrains.annotations.Nls
|
||||
import java.util.Locale.getDefault
|
||||
import javax.swing.Icon
|
||||
|
||||
/**
|
||||
* An abstract command designed to provide a context-specific code formatting completion action.
|
||||
@@ -41,8 +39,6 @@ abstract class AbstractFormatCodeCompletionCommand : CompletionCommand(), Comple
|
||||
.replaceFirst("_", "")
|
||||
.lowercase()
|
||||
.replaceFirstChar { if (it.isLowerCase()) it.titlecase(getDefault()) else it.toString() }
|
||||
final override val icon: Icon
|
||||
get() = AllIcons.Actions.ReformatCode // Use the reformat icon
|
||||
|
||||
override fun getPreview(): IntentionPreviewInfo? {
|
||||
return IntentionPreviewInfo.Html(ActionsBundle.message("action.ReformatCode.description"))
|
||||
|
||||
-3
@@ -17,7 +17,6 @@ import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiFile
|
||||
import com.intellij.util.containers.JBIterable
|
||||
import org.jetbrains.annotations.Nls
|
||||
import javax.swing.Icon
|
||||
|
||||
/**
|
||||
* Abstract base class that provides a framework for generating completion commands
|
||||
@@ -82,8 +81,6 @@ abstract class AbstractGenerateCommandProvider : CommandProvider, DumbAware {
|
||||
) : CompletionCommand() {
|
||||
override val presentableName: @Nls String
|
||||
get() = customI18nName ?: (CodeInsightBundle.message("command.completion.generate.text", action.templateText))
|
||||
override val icon: Icon?
|
||||
get() = null
|
||||
|
||||
override fun execute(offset: Int, psiFile: PsiFile, editor: Editor?) {
|
||||
if (editor == null) return
|
||||
|
||||
-3
@@ -40,7 +40,6 @@ import org.jetbrains.kotlin.psi.KtDotQualifiedExpression
|
||||
import org.jetbrains.kotlin.psi.KtNameReferenceExpression
|
||||
import org.jetbrains.kotlin.psi.psiUtil.getQualifiedElementSelector
|
||||
import org.jetbrains.kotlin.psi.stubs.elements.KtNameReferenceExpressionElementType
|
||||
import javax.swing.Icon
|
||||
|
||||
|
||||
internal class KotlinCreateFromUsagesCommandProvider : CommandProvider {
|
||||
@@ -86,8 +85,6 @@ internal class KotlinCreateFromUsagesCompletionCommand(val ktClass: KtClass) : C
|
||||
get() = listOf("Create method from usage")
|
||||
override val presentableName: @Nls String
|
||||
get() = QuickFixBundle.message("create.method.from.usage.family")
|
||||
override val icon: Icon?
|
||||
get() = null
|
||||
|
||||
override fun execute(offset: Int, psiFile: PsiFile, editor: Editor?) {
|
||||
val fileDocument = psiFile.fileDocument
|
||||
|
||||
-3
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.psi.KtClassOrObject
|
||||
import org.jetbrains.kotlin.psi.KtExpression
|
||||
import org.jetbrains.kotlin.psi.KtFile
|
||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration
|
||||
import javax.swing.Icon
|
||||
|
||||
internal class KotlinDeleteCompletionCommandProvider : CommandProvider {
|
||||
override fun getCommands(context: CommandCompletionProviderContext): List<CompletionCommand> {
|
||||
@@ -72,8 +71,6 @@ private class KotlinDeleteCompletionCommand(
|
||||
get() = listOf("Delete element")
|
||||
override val presentableName: @Nls String
|
||||
get() = ActionsBundle.message("action.EditorDelete.text")
|
||||
override val icon: Icon?
|
||||
get() = null
|
||||
override val priority: Int
|
||||
get() = -100
|
||||
|
||||
|
||||
+1
-1
@@ -137,7 +137,7 @@ class K2CommandCompletionTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
""".trimIndent()
|
||||
)
|
||||
val elements = myFixture.completeBasic()
|
||||
selectItem(elements.first { element -> element.lookupString.contains("Comment with line", ignoreCase = true) })
|
||||
selectItem(elements.first { element -> element.lookupString.contains("Comment line", ignoreCase = true) })
|
||||
myFixture.checkResult(
|
||||
"""
|
||||
fun main() {
|
||||
|
||||
Reference in New Issue
Block a user