summaryrefslogtreecommitdiff
path: root/src/main/kotlin/me/kyren223/trident/TridentToggleQuickMenuAction.kt
diff options
context:
space:
mode:
authorKyren223 <ulmliad223@gmail.com>2024-02-22 22:34:10 +0200
committerKyren223 <ulmliad223@gmail.com>2024-02-22 22:34:10 +0200
commit02b1533ff4002f1015b9c26cf69256d821ddb6b1 (patch)
treea53ba1aed8abd703eb6c47164f1b5a553d3b09c0 /src/main/kotlin/me/kyren223/trident/TridentToggleQuickMenuAction.kt
parent883fd7f58b2ef0254cb3c3fa79cc24f6dcdf9efd (diff)
Rebranded to "Trident"
Diffstat (limited to 'src/main/kotlin/me/kyren223/trident/TridentToggleQuickMenuAction.kt')
-rw-r--r--src/main/kotlin/me/kyren223/trident/TridentToggleQuickMenuAction.kt31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/kotlin/me/kyren223/trident/TridentToggleQuickMenuAction.kt b/src/main/kotlin/me/kyren223/trident/TridentToggleQuickMenuAction.kt
new file mode 100644
index 0000000..a3f8cc7
--- /dev/null
+++ b/src/main/kotlin/me/kyren223/trident/TridentToggleQuickMenuAction.kt
@@ -0,0 +1,31 @@
+package me.kyren223.trident
+
+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 TridentToggleQuickMenuAction : AnAction() {
+ override fun actionPerformed(e: AnActionEvent) {
+ if (!remapped) remap()
+ if (e.project != null) {
+ TridentState.toggleQuickMenu(e.project!!)
+ }
+ }
+
+ private fun remap() {
+ if (!AppSettingsState.instance.enterToSelect) return
+ val keys = injector.parser.parseKeys(":action TridentQuickMenuSelect<cr>")
+ val keyGroup = injector.keyGroup
+ keyGroup.putKeyMapping(MappingMode.NVO,
+ injector.parser.parseKeys("<cr>"),
+ MappingOwner.Plugin.get("Trident"), keys, false
+ )
+ remapped = true
+ }
+
+ companion object {
+ var remapped = false
+ }
+}