1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2026-06-14 17:02:31 +02:00

Compare commits

..

26 Commits

Author SHA1 Message Date
105892301d Set plugin version to chylex-53 2026-03-29 16:14:30 +02:00
77b1730c60 Preserve visual mode after executing IDE action 2026-03-29 16:14:30 +02:00
52a21229c1 Make g0/g^/g$ work with soft wraps 2026-03-29 16:14:29 +02:00
5bcaf55fd7 Make gj/gk jump over soft wraps 2026-03-29 16:14:29 +02:00
a6e9784c52 Make camelCase motions adjust based on direction of visual selection 2026-03-29 16:14:29 +02:00
7badd2dc35 Make search highlights temporary 2026-03-29 16:14:29 +02:00
8eae71653f Exit insert mode after refactoring 2026-03-29 16:14:29 +02:00
9a6d4e15c3 Add action to run last macro in all opened files 2026-03-29 16:14:29 +02:00
43d003f0ad Stop macro execution after a failed search 2026-03-29 16:14:29 +02:00
88b703f447 Revert per-caret registers 2026-03-29 16:14:29 +02:00
13d3130032 Apply scrolloff after executing native IDEA actions 2026-03-29 16:14:29 +02:00
6e52372f77 Automatically add unambiguous imports after running a macro 2026-03-29 16:14:29 +02:00
d2cdda3f30 Fix(VIM-3986): Exception when pasting register contents containing new line 2026-03-29 16:14:29 +02:00
503a2f274b Fix(VIM-3179): Respect virtual space below editor (imperfectly) 2026-03-29 16:14:29 +02:00
e665ed9f04 Fix(VIM-3178): Workaround to support "Jump to Source" action mapping 2026-03-29 16:14:29 +02:00
16c1cd1926 Update search register when using f/t 2026-03-29 16:14:29 +02:00
f8158a4b9b Add support for count for visual and line motion surround 2026-03-29 16:14:29 +02:00
847fb277f2 Fix vim-surround not working with multiple cursors
Fixes multiple cursors with vim-surround commands `cs, ds, S` (but not `ys`).
2026-03-29 16:14:28 +02:00
511a71a8a0 Fix(VIM-696): Restore visual mode after undo/redo, and disable incompatible actions 2026-03-29 16:14:28 +02:00
f92b2e4277 Respect count with <Action> mappings 2026-03-29 16:14:28 +02:00
fe256170b4 Change matchit plugin to use HTML patterns in unrecognized files 2026-03-29 16:14:28 +02:00
0af65bda54 Fix ex command panel causing Undock tool window to hide 2026-03-29 16:14:28 +02:00
7f9fa40a40 Reset insert mode when switching active editor 2026-03-29 16:14:28 +02:00
6b17a963db Remove notifications about configuration options 2026-03-29 16:14:28 +02:00
64aa59b5a5 Remove AI 2026-03-29 16:14:28 +02:00
9845668c5b Set custom plugin version 2026-03-29 16:14:28 +02:00
4 changed files with 21 additions and 3 deletions

View File

@@ -375,7 +375,7 @@ intellijPlatform {
)
ideaVersion {
sinceBuild.set("253")
sinceBuild.set("2025.3")
untilBuild.set(provider { null })
}
}

View File

@@ -20,7 +20,7 @@ ideaVersion=2026.1
# Values for type: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#intellij-extension-type
ideaType=IU
instrumentPluginCode=true
version=chylex-54
version=chylex-53
javaVersion=21
remoteRobotVersion=0.11.23
antlrVersion=4.10.1

View File

@@ -49,6 +49,7 @@ import com.maddyhome.idea.vim.group.NotificationService
import com.maddyhome.idea.vim.group.visual.IdeaSelectionControl
import com.maddyhome.idea.vim.helper.exitSelectMode
import com.maddyhome.idea.vim.helper.exitVisualMode
import com.maddyhome.idea.vim.helper.hasVisualSelection
import com.maddyhome.idea.vim.helper.isIdeaVimDisabledHere
import com.maddyhome.idea.vim.newapi.globalIjOptions
import com.maddyhome.idea.vim.newapi.initInjector
@@ -332,6 +333,23 @@ internal object IdeaSpecifics {
vimEditor.exitMode()
vimEditor.mode = Mode.NORMAL()
}
} else {
// IdeaSelectionControl will not be called if we're moving to a new variable with no change in selection.
// And if we're moving to the end of the template, the change in selection will reset us to Normal because
// IdeaSelectionControl will be called when the template is no longer active.
if ((!editor.selectionModel.hasSelection() && !vimEditor.mode.hasVisualSelection) || newIndex == -1) {
if (vimEditor.isIdeaRefactorModeSelect) {
if (vimEditor.mode !is Mode.INSERT) {
vimEditor.exitMode()
injector.application.runReadAction {
val context = injector.executionContextManager.getEditorExecutionContext(editor.vim)
VimPlugin.getChange().insertBeforeCaret(editor.vim, context)
}
}
} else {
vimEditor.mode = Mode.NORMAL()
}
}
}
}
}

View File

@@ -20,5 +20,5 @@ import com.maddyhome.idea.vim.vimscript.model.functions.BuiltinFunctionHandler
@VimscriptFunction(name = "pumvisible")
internal class PopupMenuVisibleFunctionHandler : BuiltinFunctionHandler<VimInt>() {
override fun doFunction(arguments: Arguments, editor: VimEditor, context: ExecutionContext, vimContext: VimLContext) =
(CompletionService.getCompletionService().currentCompletion != null).asVimInt()
(CompletionService.getCompletionService().currentCompletion == null).asVimInt()
}