From efe9b7e3b4ad2c1960aff5a5d1569cac98e281d0 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Wed, 14 Feb 2024 09:41:19 +0200 Subject: Ok/Cancel buttons are now hidden Added selected action, Selecting now works on enter or a custom-bound action --- .../harpoonforjb/HarpoonToggleQuickMenuAction.kt | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt') 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") + val keyGroup = injector.keyGroup + keyGroup.putKeyMapping(MappingMode.NVO, + injector.parser.parseKeys(""), + MappingOwner.Plugin.get("HarpoonForJB"), keys, false + ) + remapped = true + } + + companion object { + var remapped = false + } } -- cgit v1.3.1