From 43a4e2caad5e5699b066baee92b818bf0e245559 Mon Sep 17 00:00:00 2001 From: Filipp Vakhitov Date: Sat, 15 Jun 2024 23:27:28 +0200 Subject: [PATCH] Changes to support IdeaVim 2.13 --- .../com/github/dankinsoid/multicursor/Utils.kt | 1 - .../github/dankinsoid/multicursor/VimMulticursor.kt | 13 ++++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/com/github/dankinsoid/multicursor/Utils.kt b/src/main/kotlin/com/github/dankinsoid/multicursor/Utils.kt index 4a33826..a102e1f 100644 --- a/src/main/kotlin/com/github/dankinsoid/multicursor/Utils.kt +++ b/src/main/kotlin/com/github/dankinsoid/multicursor/Utils.kt @@ -5,7 +5,6 @@ import com.maddyhome.idea.vim.command.MappingMode import com.maddyhome.idea.vim.extension.VimExtension import com.maddyhome.idea.vim.extension.VimExtensionFacade import com.maddyhome.idea.vim.extension.VimExtensionHandler -import com.maddyhome.idea.vim.helper.StringHelper /** * Map some (keys) command to given handler diff --git a/src/main/kotlin/com/github/dankinsoid/multicursor/VimMulticursor.kt b/src/main/kotlin/com/github/dankinsoid/multicursor/VimMulticursor.kt index 8a26706..0043b8a 100644 --- a/src/main/kotlin/com/github/dankinsoid/multicursor/VimMulticursor.kt +++ b/src/main/kotlin/com/github/dankinsoid/multicursor/VimMulticursor.kt @@ -5,12 +5,12 @@ import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.colors.EditorColors import com.intellij.openapi.editor.markup.* import com.intellij.openapi.util.Disposer +import com.maddyhome.idea.vim.api.injector import com.maddyhome.idea.vim.extension.VimExtension import com.maddyhome.idea.vim.extension.VimExtensionFacade import com.maddyhome.idea.vim.extension.VimExtensionHandler import com.maddyhome.idea.vim.newapi.vim import com.maddyhome.idea.vim.ui.ModalEntry -import com.maddyhome.idea.vim.ui.ex.ExEntryPanel import java.awt.Font import java.awt.event.KeyEvent import javax.swing.KeyStroke @@ -44,24 +44,23 @@ class VimMulticursor : VimExtension { private val select: Boolean = false ) : VimExtensionHandler { override fun execute(editor: Editor, context: DataContext) { - val panel = ExEntryPanel.getInstanceWithoutShortcuts() - panel.activate(editor, context, " ", "", 1) + val panel = injector.commandLine.createWithoutShortcuts(editor.vim, context.vim, " ", "") ModalEntry.activate(editor.vim) { key: KeyStroke -> return@activate when (key.keyCode) { KeyEvent.VK_ESCAPE -> { - panel.deactivate(true) + panel.deactivate(refocusOwningEditor = true, resetCaret = true) highlightHandler.clearAllMulticursorHighlighters(editor) false } KeyEvent.VK_ENTER -> { highlightHandler.clearAllMulticursorHighlighters(editor) - panel.deactivate(false) - select(editor, panel.text, select) + panel.deactivate(refocusOwningEditor = false, resetCaret = true) + select(editor, panel.actualText, select) false } else -> { panel.handleKey(key) - highlightHandler.highlightMulticursorRange(editor, ranges(panel.text, editor)) + highlightHandler.highlightMulticursorRange(editor, ranges(panel.actualText, editor)) true } }