summaryrefslogtreecommitdiff
path: root/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt
diff options
context:
space:
mode:
authorKyren223 <ulmliad223@gmail.com>2024-02-14 09:41:19 +0200
committerKyren223 <ulmliad223@gmail.com>2024-02-14 09:41:19 +0200
commitefe9b7e3b4ad2c1960aff5a5d1569cac98e281d0 (patch)
treebd089b80cf651791d8364ba1ebedcd6534308f21 /src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt
parent98ed2e0053aa1300dcd463676265778fb872fc98 (diff)
Ok/Cancel buttons are now hidden
Added selected action, Selecting now works on enter or a custom-bound action
Diffstat (limited to 'src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt')
-rw-r--r--src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt b/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt
index fbf00bd..66e58b0 100644
--- a/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt
+++ b/src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt
@@ -2,11 +2,30 @@ package me.kyren223.harpoonforjb
import com.intellij.openapi.actionSystem.AnAction
import com.intellij.openapi.actionSystem.AnActionEvent
+import com.maddyhome.idea.vim.api.injector
+import com.maddyhome.idea.vim.command.MappingMode
+import com.maddyhome.idea.vim.key.MappingOwner
class HarpoonToggleQuickMenuAction : AnAction() {
override fun actionPerformed(e: AnActionEvent) {
+ if (!remapped) remap()
if (e.project != null) {
HarpoonState.toggleQuickMenu(e.project!!)
}
}
+
+ private fun remap() {
+ if (!AppSettingsState.instance.harpoonEnterToSelect) return
+ val keys = injector.parser.parseKeys(":action HarpoonQuickMenuSelect<cr>")
+ val keyGroup = injector.keyGroup
+ keyGroup.putKeyMapping(MappingMode.NVO,
+ injector.parser.parseKeys("<cr>"),
+ MappingOwner.Plugin.get("HarpoonForJB"), keys, false
+ )
+ remapped = true
+ }
+
+ companion object {
+ var remapped = false
+ }
}