1
0
mirror of https://github.com/chylex/IntelliJ-AceJump.git synced 2025-09-16 16:24:48 +02:00

5 Commits

Author SHA1 Message Date
20ab421389 Broken 2024-09-03 00:49:17 +02:00
59fbd4e19c Set version to chylex-21 2024-07-15 13:46:02 +02:00
6e08d56cdf Update for IDEA 2024.1 & latest IdeaVim 2024-07-15 13:45:39 +02:00
9a14fb87e3 Set version to chylex-20 2024-03-27 13:53:41 +01:00
d22bcc220e Update IdeaVim integration 2024-03-27 13:53:25 +01:00
3 changed files with 20 additions and 18 deletions

View File

@@ -4,23 +4,26 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("jvm") version "1.9.10"
id("org.jetbrains.intellij") version "1.16.1"
id("org.jetbrains.intellij") version "1.17.3"
}
group = "org.acejump"
version = "chylex-19"
version = "chylex-21"
repositories {
mavenCentral()
}
intellij {
version.set("2023.3")
version.set("2024.2")
updateSinceUntilBuild.set(false)
plugins.add("IdeaVIM:chylex-22")
// plugins.add("IdeaVIM:chylex-40")
// plugins.add("com.intellij.classic.ui:242.20224.159")
pluginsRepositories {
custom("https://intellij.chylex.com")
// custom("https://intellij.chylex.com")
// marketplace()
}
}
@@ -33,7 +36,7 @@ dependencies {
}
tasks.patchPluginXml {
sinceBuild.set("233")
sinceBuild.set("242")
}
tasks.buildSearchableOptions {

View File

@@ -10,13 +10,12 @@ import com.maddyhome.idea.vim.action.change.change.ChangeVisualAction
import com.maddyhome.idea.vim.action.change.delete.DeleteVisualAction
import com.maddyhome.idea.vim.action.copy.YankVisualAction
import com.maddyhome.idea.vim.api.injector
import com.maddyhome.idea.vim.command.MappingMode.OP_PENDING
import com.maddyhome.idea.vim.command.OperatorArguments
import com.maddyhome.idea.vim.group.visual.vimSetSelection
import com.maddyhome.idea.vim.helper.inVisualMode
import com.maddyhome.idea.vim.helper.vimSelectionStart
import com.maddyhome.idea.vim.helper.vimStateMachine
import com.maddyhome.idea.vim.newapi.vim
import com.maddyhome.idea.vim.state.mode.Mode
import com.maddyhome.idea.vim.state.mode.SelectionType
import org.acejump.boundaries.StandardBoundaries.AFTER_CARET
import org.acejump.boundaries.StandardBoundaries.BEFORE_CARET
@@ -52,12 +51,11 @@ sealed class AceVimAction : DumbAwareAction() {
}
else {
val vim = editor.vim
val commandState = vim.vimStateMachine
if (commandState.isOperatorPending) {
val key = commandState.commandBuilder.keys.singleOrNull()?.keyChar
val keyHandler = KeyHandler.getInstance()
if (keyHandler.isOperatorPending(vim.mode, keyHandler.keyHandlerState)) {
val key = keyHandler.keyHandlerState.commandBuilder.keys.singleOrNull()?.keyChar
commandState.reset()
KeyHandler.getInstance().fullReset(vim)
keyHandler.fullReset(vim)
AceVimUtil.enterVisualMode(vim, SelectionType.CHARACTER_WISE)
caret.vim.vimSetSelection(caret.offset, initialOffset, moveCaretToSelectionEnd = true)
@@ -72,15 +70,16 @@ sealed class AceVimAction : DumbAwareAction() {
if (action != null) {
ApplicationManager.getApplication().invokeLater {
WriteAction.run<Nothing> {
commandState.commandBuilder.pushCommandPart(action)
keyHandler.keyHandlerState.commandBuilder.pushCommandPart(action)
val cmd = commandState.commandBuilder.buildCommand()
val operatorArguments = OperatorArguments(commandState.mappingState.mappingMode == OP_PENDING, cmd.rawCount, commandState.mode)
val cmd = keyHandler.keyHandlerState.commandBuilder.buildCommand()
val operatorArguments = OperatorArguments(vim.mode is Mode.OP_PENDING, cmd.rawCount, injector.vimState.mode)
commandState.executingCommand = cmd
injector.vimState.executingCommand = cmd
injector.actionExecutor.executeVimAction(vim, action, context, operatorArguments)
// TODO does not update status
}
keyHandler.reset(vim)
}
}
}