diff options
| author | Kyren223 <ulmliad223@gmail.com> | 2024-02-14 09:41:19 +0200 |
|---|---|---|
| committer | Kyren223 <ulmliad223@gmail.com> | 2024-02-14 09:41:19 +0200 |
| commit | efe9b7e3b4ad2c1960aff5a5d1569cac98e281d0 (patch) | |
| tree | bd089b80cf651791d8364ba1ebedcd6534308f21 /src/main/kotlin/me/kyren223/harpoonforjb/HarpoonToggleQuickMenuAction.kt | |
| parent | 98ed2e0053aa1300dcd463676265778fb872fc98 (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.kt | 19 |
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 + } } |
