mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2026-06-15 01:16:32 +02:00
Compare commits
25 Commits
customized
...
3f229ed949
| Author | SHA1 | Date | |
|---|---|---|---|
|
3f229ed949
|
|||
|
b28478f098
|
|||
|
b09b9522af
|
|||
|
4144d575a2
|
|||
|
8a57fc3fb6
|
|||
|
d2e96a7989
|
|||
|
8ebb20f742
|
|||
|
5f07f71d11
|
|||
|
0cbc00be41
|
|||
|
2a08def7e4
|
|||
|
a9cd6250a0
|
|||
|
595baa79dc
|
|||
|
95abad99db
|
|||
|
cf17f4e586
|
|||
|
d7f77d1ac1
|
|||
|
9b7e497dff
|
|||
|
a0d4591747
|
|||
|
27fdbd667e
|
|||
|
3af7dfc772
|
|||
|
d08e250c1d
|
|||
|
cc2cd5c7cb
|
|||
|
f4e71e500b
|
|||
|
cf26501c8c
|
|||
|
692382f4a8
|
|||
|
e27932583b
|
@@ -112,7 +112,7 @@ dependencies {
|
|||||||
testFramework(TestFrameworkType.Platform)
|
testFramework(TestFrameworkType.Platform)
|
||||||
testFramework(TestFrameworkType.JUnit5)
|
testFramework(TestFrameworkType.JUnit5)
|
||||||
|
|
||||||
plugin("com.intellij.classic.ui", "261.22158.185")
|
plugin("com.intellij.classic.ui", "251.23774.318")
|
||||||
|
|
||||||
pluginModule(runtimeOnly(project(":modules:ideavim-common")))
|
pluginModule(runtimeOnly(project(":modules:ideavim-common")))
|
||||||
pluginModule(runtimeOnly(project(":modules:ideavim-frontend")))
|
pluginModule(runtimeOnly(project(":modules:ideavim-frontend")))
|
||||||
@@ -303,6 +303,11 @@ tasks {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buildPlugin {
|
||||||
|
dependsOn(sourcesJar)
|
||||||
|
from(sourcesJar) { into("lib/src") }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
java {
|
java {
|
||||||
@@ -375,7 +380,13 @@ intellijPlatform {
|
|||||||
)
|
)
|
||||||
|
|
||||||
ideaVersion {
|
ideaVersion {
|
||||||
sinceBuild.set("253")
|
// Let the Gradle plugin set the since-build version. It defaults to the version of the IDE we're building against
|
||||||
|
// specified as two components, `{branch}.{build}` (e.g., "241.15989"). There is no third component specified.
|
||||||
|
// The until-build version defaults to `{branch}.*`, but we want to support _all_ future versions, so we set it
|
||||||
|
// with a null provider (the provider is important).
|
||||||
|
// By letting the Gradle plugin handle this, the Plugin DevKit IntelliJ plugin cannot help us with the "Usage of
|
||||||
|
// IntelliJ API not available in older IDEs" inspection. However, since our since-build is the version we compile
|
||||||
|
// against, we can never get an API that's newer - it would be an unresolved symbol.
|
||||||
untilBuild.set(provider { null })
|
untilBuild.set(provider { null })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,11 +16,11 @@
|
|||||||
# https://data.services.jetbrains.com/products?code=IU
|
# https://data.services.jetbrains.com/products?code=IU
|
||||||
# Maven releases are here: https://www.jetbrains.com/intellij-repository/releases
|
# Maven releases are here: https://www.jetbrains.com/intellij-repository/releases
|
||||||
# And snapshots: https://www.jetbrains.com/intellij-repository/snapshots
|
# And snapshots: https://www.jetbrains.com/intellij-repository/snapshots
|
||||||
ideaVersion=2026.1
|
ideaVersion=2025.3
|
||||||
# Values for type: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#intellij-extension-type
|
# Values for type: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#intellij-extension-type
|
||||||
ideaType=IU
|
ideaType=IU
|
||||||
instrumentPluginCode=true
|
instrumentPluginCode=true
|
||||||
version=chylex-54
|
version=chylex-53
|
||||||
javaVersion=21
|
javaVersion=21
|
||||||
remoteRobotVersion=0.11.23
|
remoteRobotVersion=0.11.23
|
||||||
antlrVersion=4.10.1
|
antlrVersion=4.10.1
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ import com.maddyhome.idea.vim.group.NotificationService
|
|||||||
import com.maddyhome.idea.vim.group.visual.IdeaSelectionControl
|
import com.maddyhome.idea.vim.group.visual.IdeaSelectionControl
|
||||||
import com.maddyhome.idea.vim.helper.exitSelectMode
|
import com.maddyhome.idea.vim.helper.exitSelectMode
|
||||||
import com.maddyhome.idea.vim.helper.exitVisualMode
|
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.helper.isIdeaVimDisabledHere
|
||||||
import com.maddyhome.idea.vim.newapi.globalIjOptions
|
import com.maddyhome.idea.vim.newapi.globalIjOptions
|
||||||
import com.maddyhome.idea.vim.newapi.initInjector
|
import com.maddyhome.idea.vim.newapi.initInjector
|
||||||
@@ -332,6 +333,23 @@ internal object IdeaSpecifics {
|
|||||||
vimEditor.exitMode()
|
vimEditor.exitMode()
|
||||||
vimEditor.mode = Mode.NORMAL()
|
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()
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import com.intellij.ide.ui.LafManagerListener
|
|||||||
import com.intellij.openapi.application.ApplicationManager
|
import com.intellij.openapi.application.ApplicationManager
|
||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.wm.impl.IdeBackgroundUtil
|
import com.intellij.openapi.wm.impl.IdeBackgroundUtil
|
||||||
import com.intellij.openapi.wm.impl.ToolWindowManagerImpl
|
|
||||||
import com.intellij.ui.ClientProperty
|
import com.intellij.ui.ClientProperty
|
||||||
import com.intellij.ui.JBColor
|
import com.intellij.ui.JBColor
|
||||||
import com.intellij.ui.components.JBPanel
|
import com.intellij.ui.components.JBPanel
|
||||||
@@ -91,7 +90,6 @@ class OutputPanel private constructor(
|
|||||||
|
|
||||||
// Suppress the fancy frame background used in the Islands theme
|
// Suppress the fancy frame background used in the Islands theme
|
||||||
ClientProperty.putRecursive(this, IdeBackgroundUtil.NO_BACKGROUND, true)
|
ClientProperty.putRecursive(this, IdeBackgroundUtil.NO_BACKGROUND, true)
|
||||||
putClientProperty(ToolWindowManagerImpl.PARENT_COMPONENT, editor.component)
|
|
||||||
|
|
||||||
// Initialize panel
|
// Initialize panel
|
||||||
setLayout(BorderLayout(0, 0))
|
setLayout(BorderLayout(0, 0))
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ import com.intellij.openapi.diagnostic.Logger
|
|||||||
import com.intellij.openapi.editor.Editor
|
import com.intellij.openapi.editor.Editor
|
||||||
import com.intellij.openapi.editor.colors.EditorColors
|
import com.intellij.openapi.editor.colors.EditorColors
|
||||||
import com.intellij.openapi.wm.IdeFocusManager
|
import com.intellij.openapi.wm.IdeFocusManager
|
||||||
import com.intellij.openapi.wm.impl.ToolWindowManagerImpl
|
|
||||||
import com.intellij.ui.DocumentAdapter
|
import com.intellij.ui.DocumentAdapter
|
||||||
import com.intellij.util.IJSwingUtilities
|
import com.intellij.util.IJSwingUtilities
|
||||||
import com.maddyhome.idea.vim.EventFacade
|
import com.maddyhome.idea.vim.EventFacade
|
||||||
@@ -145,7 +144,6 @@ class ExEntryPanel private constructor() : JPanel(), VimCommandLine {
|
|||||||
glassPane.addComponentListener(resizePanelListener)
|
glassPane.addComponentListener(resizePanelListener)
|
||||||
positionPanel()
|
positionPanel()
|
||||||
glassPane.isVisible = true
|
glassPane.isVisible = true
|
||||||
putClientProperty(ToolWindowManagerImpl.PARENT_COMPONENT, parent)
|
|
||||||
entry.requestFocusInWindow()
|
entry.requestFocusInWindow()
|
||||||
}
|
}
|
||||||
this.isActive = true
|
this.isActive = true
|
||||||
@@ -193,7 +191,6 @@ class ExEntryPanel private constructor() : JPanel(), VimCommandLine {
|
|||||||
requestFocus(parent!!)
|
requestFocus(parent!!)
|
||||||
}
|
}
|
||||||
|
|
||||||
putClientProperty(ToolWindowManagerImpl.PARENT_COMPONENT, null)
|
|
||||||
oldGlass!!.removeComponentListener(resizePanelListener)
|
oldGlass!!.removeComponentListener(resizePanelListener)
|
||||||
oldGlass!!.isVisible = false
|
oldGlass!!.isVisible = false
|
||||||
oldGlass!!.remove(this)
|
oldGlass!!.remove(this)
|
||||||
|
|||||||
@@ -20,5 +20,5 @@ import com.maddyhome.idea.vim.vimscript.model.functions.BuiltinFunctionHandler
|
|||||||
@VimscriptFunction(name = "pumvisible")
|
@VimscriptFunction(name = "pumvisible")
|
||||||
internal class PopupMenuVisibleFunctionHandler : BuiltinFunctionHandler<VimInt>() {
|
internal class PopupMenuVisibleFunctionHandler : BuiltinFunctionHandler<VimInt>() {
|
||||||
override fun doFunction(arguments: Arguments, editor: VimEditor, context: ExecutionContext, vimContext: VimLContext) =
|
override fun doFunction(arguments: Arguments, editor: VimEditor, context: ExecutionContext, vimContext: VimLContext) =
|
||||||
(CompletionService.getCompletionService().currentCompletion != null).asVimInt()
|
(CompletionService.getCompletionService().currentCompletion == null).asVimInt()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user