diff options
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 + } } |
