1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2025-04-23 13:15:45 +02:00

Fix(VIM-3825): Proper processing of enter for Rider & similar IDEs

This commit is contained in:
Alex Plate 2025-03-14 13:39:36 +02:00
parent 46f9aa4df2
commit abdb6cb906
No known key found for this signature in database
GPG Key ID: 0B97153C8FFEC09F
2 changed files with 5 additions and 5 deletions
src/main/java/com/maddyhome/idea/vim

View File

@ -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

View File

@ -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()