File tree Expand file tree Collapse file tree 5 files changed +37
-2
lines changed Expand file tree Collapse file tree 5 files changed +37
-2
lines changed Original file line number Diff line number Diff line change 11[versions ]
22apache-commons-collections = " 4.4"
33apache-commons-io = " 2.16.0"
4+ apache-commons-text = " 1.12.0"
45assertJ = " 3.26.3"
56# match with <root>/settings.gradle.kts
67awsSdk = " 2.26.25"
@@ -70,6 +71,7 @@ aws-sts = { module = "software.amazon.awssdk:sts", version.ref = "awsSdk" }
7071commonmark = { module = " org.commonmark:commonmark" , version.ref = " commonmark" }
7172commons-collections = { module = " org.apache.commons:commons-collections4" , version.ref = " apache-commons-collections" }
7273commons-io = { module = " commons-io:commons-io" , version.ref = " apache-commons-io" }
74+ commons-text = {module = " org.apache.commons:commons-text" , version.ref = " apache-commons-text" }
7375detekt-api = { module = " io.gitlab.arturbosch.detekt:detekt-api" , version.ref = " detekt" }
7476detekt-formattingRules = { module = " io.gitlab.arturbosch.detekt:detekt-formatting" , version.ref = " detekt" }
7577diff-util = { module = " io.github.java-diff-utils:java-diff-utils" , version.ref = " diff-util" }
Original file line number Diff line number Diff line change @@ -20,6 +20,7 @@ dependencies {
2020 // everything references codewhisperer, which is not ideal
2121 implementation(project(" :plugin-amazonq:codewhisperer:jetbrains-community" ))
2222 implementation(libs.diff.util)
23+ implementation(libs.commons.text)
2324
2425 compileOnly(project(" :plugin-core:jetbrains-community" ))
2526
Original file line number Diff line number Diff line change 2020 factoryClass =" software.aws.toolkits.jetbrains.services.amazonq.toolwindow.AmazonQToolWindowFactory" icon =" AwsIcons.Logos.AWS_Q" />
2121
2222 <postStartupActivity implementation =" software.aws.toolkits.jetbrains.services.amazonq.startup.AmazonQStartupActivity" />
23+ <actionPromoter order =" last" implementation =" software.aws.toolkits.jetbrains.services.cwc.inline.InlineChatActionPromoter" />
2324 </extensions >
2425
2526 <extensions defaultExtensionNs =" amazon.q" >
Original file line number Diff line number Diff line change 1+ // Copyright 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+ // SPDX-License-Identifier: Apache-2.0
3+
4+ package software.aws.toolkits.jetbrains.services.cwc.inline
5+
6+ import com.intellij.openapi.actionSystem.ActionPromoter
7+ import com.intellij.openapi.actionSystem.AnAction
8+ import com.intellij.openapi.actionSystem.DataContext
9+ import com.intellij.openapi.keymap.KeymapUtil
10+ import com.intellij.openapi.util.SystemInfo
11+
12+ class InlineChatActionPromoter : ActionPromoter {
13+ override fun promote (actions : MutableList <out AnAction >, context : DataContext ): MutableList <AnAction > {
14+ val results = actions.toMutableList()
15+ val shortCut = KeymapUtil .getShortcutText(" aws.toolkit.jetbrains.core.services.cwc.inline.openChat" )
16+ // only promote for the default key bindings
17+ if (SystemInfo .isMac && shortCut != " ⌘I" ) return results
18+ if (! SystemInfo .isMac && shortCut != " Ctrl+I" ) return results
19+
20+ results.sortWith { a, b ->
21+ when {
22+ isOpenChatInputAction(a) -> - 1
23+ isOpenChatInputAction(b) -> 1
24+ else -> 0
25+ }
26+ }
27+ return results
28+ }
29+
30+ private fun isOpenChatInputAction (action : AnAction ): Boolean =
31+ action is OpenChatInputAction
32+ }
Original file line number Diff line number Diff line change @@ -8,7 +8,6 @@ import com.intellij.codeInsight.hint.HintUtil
88import com.intellij.openapi.editor.Editor
99import com.intellij.openapi.editor.VisualPosition
1010import com.intellij.openapi.keymap.KeymapUtil
11- import com.intellij.openapi.util.SystemInfo
1211import com.intellij.ui.LightweightHint
1312import com.intellij.ui.SimpleColoredText
1413import com.intellij.ui.SimpleTextAttributes
@@ -68,7 +67,7 @@ class InlineChatEditorHint {
6867 coloredText.appendToComponent(component)
6968 val shortcutComponent = HintUtil .createInformationComponent()
7069 val shortCut = KeymapUtil .getShortcutText(" aws.toolkit.jetbrains.core.services.cwc.inline.openChat" )
71- if (! SystemInfo .isWindows && shortCut == " ⌃ I" ) {
70+ if (shortCut == " ⌘ I" ) {
7271 val shortCutIcon = AwsIcons .Resources .InlineChat .AWS_Q_INLINECHAT_SHORTCUT
7372 shortcutComponent.isIconOnTheRight = true
7473 shortcutComponent.icon = shortCutIcon
You can’t perform that action at this time.
0 commit comments