diff --git a/src/main/java/com/maddyhome/idea/vim/handler/VimEnterHandler.kt b/src/main/java/com/maddyhome/idea/vim/handler/VimEnterHandler.kt index 57c5662d0..1e17dcc19 100644 --- a/src/main/java/com/maddyhome/idea/vim/handler/VimEnterHandler.kt +++ b/src/main/java/com/maddyhome/idea/vim/handler/VimEnterHandler.kt @@ -25,7 +25,6 @@ import com.intellij.openapi.fileEditor.FileDocumentManager import com.intellij.openapi.util.Key import com.intellij.openapi.util.UserDataHolder import com.intellij.openapi.util.removeUserData -import com.intellij.util.PlatformUtils import com.maddyhome.idea.vim.KeyHandler import com.maddyhome.idea.vim.VimPlugin import com.maddyhome.idea.vim.api.injector @@ -36,8 +35,6 @@ import com.maddyhome.idea.vim.helper.IjActionExecutor import com.maddyhome.idea.vim.helper.inNormalMode import com.maddyhome.idea.vim.helper.isPrimaryEditor import com.maddyhome.idea.vim.helper.updateCaretsVisualAttributes -import com.maddyhome.idea.vim.ide.isClionNova -import com.maddyhome.idea.vim.ide.isRider import com.maddyhome.idea.vim.newapi.actionStartedFromVim import com.maddyhome.idea.vim.newapi.globalIjOptions import com.maddyhome.idea.vim.newapi.vim @@ -365,8 +362,6 @@ internal fun isOctopusEnabled(s: KeyStroke, editor: Editor): Boolean { // CMD line has a different processing mechanizm: the processing actions are registered // for the input field component. These keys are not dispatched via the octopus handler. if (editor.vim.mode is Mode.CMD_LINE) return false - // Turn off octopus for some IDEs. They have issues with ENTER and ESC on the octopus like VIM-3815 - if (isRider() || PlatformUtils.isJetBrainsClient() || isClionNova()) return false when { s.keyCode == KeyEvent.VK_ENTER && s.modifiers == 0 -> return true s.keyCode == KeyEvent.VK_ESCAPE && s.modifiers == 0 -> return true diff --git a/src/main/java/com/maddyhome/idea/vim/newapi/IjVimApplication.kt b/src/main/java/com/maddyhome/idea/vim/newapi/IjVimApplication.kt index 7fed24cd4..fa35eedf0 100644 --- a/src/main/java/com/maddyhome/idea/vim/newapi/IjVimApplication.kt +++ b/src/main/java/com/maddyhome/idea/vim/newapi/IjVimApplication.kt @@ -13,9 +13,12 @@ import com.intellij.openapi.application.ModalityState import com.intellij.openapi.components.Service import com.intellij.openapi.util.Computable import com.intellij.util.ExceptionUtil +import com.intellij.util.PlatformUtils import com.maddyhome.idea.vim.api.VimApplicationBase import com.maddyhome.idea.vim.api.VimEditor import com.maddyhome.idea.vim.diagnostic.vimLogger +import com.maddyhome.idea.vim.ide.isClionNova +import com.maddyhome.idea.vim.ide.isRider import java.awt.Component import java.awt.Toolkit import java.awt.Window @@ -74,6 +77,8 @@ internal class IjVimApplication : VimApplicationBase() { } override fun isOctopusEnabled(): Boolean { + // Turn off octopus for some IDEs. They have issues with ENTER and ESC on the octopus like VIM-3815 + if (isRider() || PlatformUtils.isJetBrainsClient() || isClionNova()) return false val property = System.getProperty("octopus.handler") ?: "true" if (property.isBlank()) return true return property.toBoolean()