1
0
mirror of https://github.com/chylex/IntelliJ-Keyboard-Master.git synced 2024-10-18 19:42:49 +02:00

Compare commits

..

No commits in common. "a0500a8666930b82a0fe7fd7b1c2838df47be70b" and "15e459d885e27cc3e9074e9ee996a0c56242620c" have entirely different histories.

2 changed files with 20 additions and 29 deletions

View File

@ -8,7 +8,7 @@ plugins {
}
group = "com.chylex.intellij.keyboardmaster"
version = "0.4.1"
version = "0.4.0"
repositories {
mavenCentral()
@ -16,7 +16,7 @@ repositories {
intellij {
type.set("IU")
version.set("233.11799-EAP-CANDIDATE-SNAPSHOT")
version.set("2023.2")
updateSinceUntilBuild.set(false)
plugins.add("com.intellij.java")
@ -35,7 +35,7 @@ dependencies {
}
tasks.patchPluginXml {
sinceBuild.set("233.11799.30")
sinceBuild.set("232")
}
tasks.test {

View File

@ -1,13 +1,10 @@
package com.chylex.intellij.keyboardmaster.feature.codeCompletion
import com.intellij.codeInsight.lookup.Lookup
import com.intellij.codeInsight.lookup.LookupElement
import com.intellij.codeInsight.lookup.LookupElementPresentation
import com.intellij.codeInsight.lookup.LookupManagerListener
import com.intellij.codeInsight.lookup.impl.LookupCellRenderer.ItemPresentationCustomizer
import com.intellij.codeInsight.lookup.impl.LookupImpl
import com.intellij.openapi.util.Key
import javax.swing.Icon
/**
* Adds hints to code completion popup items with the character that selects the item.
@ -40,32 +37,26 @@ class CodeCompletionPopupListener : LookupManagerListener {
newLookup.putUserData(IS_MODIFIED_KEY, true)
@Suppress("UnstableApiUsage")
newLookup.addPresentationCustomizer(object : ItemPresentationCustomizer {
override fun customizePresentation(item: LookupElement, presentation: LookupElementPresentation): LookupElementPresentation {
val itemList = newLookup.list.model
val itemCount = itemList.size
val offset = getPageOffset(newLookup)
for (index in 0 until CodeCompletionPopupConfiguration.itemShortcutCount) {
val itemIndex = offset + index
if (itemIndex >= itemCount) {
break
}
if (item === itemList.getElementAt(itemIndex)) {
val customized = LookupElementPresentation()
customized.copyFrom(presentation)
customized.appendTailTextItalic(CodeCompletionPopupConfiguration.getHintText(index), true)
return customized
}
newLookup.addPresentationCustomizer { item, presentation ->
val itemList = newLookup.list.model
val itemCount = itemList.size
val offset = getPageOffset(newLookup)
for (index in 0 until CodeCompletionPopupConfiguration.itemShortcutCount) {
val itemIndex = offset + index
if (itemIndex >= itemCount) {
break
}
return presentation
if (item === itemList.getElementAt(itemIndex)) {
val customized = LookupElementPresentation()
customized.copyFrom(presentation)
customized.appendTailTextItalic(CodeCompletionPopupConfiguration.getHintText(index), true)
return@addPresentationCustomizer customized
}
}
override fun customizeEmptyIcon(icon: Icon): Icon {
return icon
}
})
presentation
}
}
}