Skip to content

Commit cf3366d

Browse files
committed
VIM-4134 Fix focus in gi ga nerdtree
1 parent 36e54f6 commit cf3366d

File tree

4 files changed

+13
-13
lines changed

4 files changed

+13
-13
lines changed

src/main/java/com/maddyhome/idea/vim/extension/nerdtree/NerdTree.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ private fun createMappings(): Map<List<KeyStroke>, NerdTreeAction> = navigationM
252252
NerdTreeAction { event, tree ->
253253
val file = event.getData(CommonDataKeys.VIRTUAL_FILE) ?: return@NerdTreeAction
254254
if (file.isDirectory) return@NerdTreeAction
255-
injector.window.splitWindowVertical(event.dataContext.vim, file.path)
255+
injector.window.splitWindowVertical(event.dataContext.vim, file.path, focusNew = false)
256256
tree.requestFocus()
257257
},
258258
)
@@ -262,7 +262,7 @@ private fun createMappings(): Map<List<KeyStroke>, NerdTreeAction> = navigationM
262262
NerdTreeAction { event, tree ->
263263
val file = event.getData(CommonDataKeys.VIRTUAL_FILE) ?: return@NerdTreeAction
264264
if (file.isDirectory) return@NerdTreeAction
265-
injector.window.splitWindowHorizontal(event.dataContext.vim, file.path)
265+
injector.window.splitWindowHorizontal(event.dataContext.vim, file.path, focusNew = false)
266266
tree.requestFocus()
267267
},
268268
)

src/main/java/com/maddyhome/idea/vim/extension/nerdtree/NerdTreeEverywhere.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,13 @@ class NerdTreeEverywhere : VimExtension {
8585
register("NERDTreeMapPreviewVSplit", "gs", NerdTreeAction { event, tree ->
8686
val file = event.getData(CommonDataKeys.VIRTUAL_FILE) ?: return@NerdTreeAction
8787
if (file.isDirectory) return@NerdTreeAction
88-
injector.window.splitWindowVertical(event.dataContext.vim, file.path)
88+
injector.window.splitWindowVertical(event.dataContext.vim, file.path, focusNew = false)
8989
tree.requestFocus()
9090
})
9191
register("NERDTreeMapPreviewSplit", "gi", NerdTreeAction { event, tree ->
9292
val file = event.getData(CommonDataKeys.VIRTUAL_FILE) ?: return@NerdTreeAction
9393
if (file.isDirectory) return@NerdTreeAction
94-
injector.window.splitWindowHorizontal(event.dataContext.vim, file.path)
94+
injector.window.splitWindowHorizontal(event.dataContext.vim, file.path, focusNew = false)
9595
tree.requestFocus()
9696
})
9797
}) {

src/main/java/com/maddyhome/idea/vim/group/WindowGroup.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -263,13 +263,13 @@ public void selectWindow(@NotNull ExecutionContext context, int index) {
263263
}
264264

265265
@Override
266-
public void splitWindowHorizontal(@NotNull ExecutionContext context, @NotNull String filename) {
267-
splitWindow(SwingConstants.HORIZONTAL, (DataContext)context.getContext(), filename);
266+
public void splitWindowHorizontal(@NotNull ExecutionContext context, @NotNull String filename, boolean focusNew) {
267+
splitWindow(SwingConstants.HORIZONTAL, (DataContext)context.getContext(), filename, focusNew);
268268
}
269269

270270
@Override
271-
public void splitWindowVertical(@NotNull ExecutionContext context, @NotNull String filename) {
272-
splitWindow(SwingConstants.VERTICAL, (DataContext)context.getContext(), filename);
271+
public void splitWindowVertical(@NotNull ExecutionContext context, @NotNull String filename, boolean focusNew) {
272+
splitWindow(SwingConstants.VERTICAL, (DataContext)context.getContext(), filename, focusNew);
273273
}
274274

275275
@Override
@@ -309,7 +309,7 @@ private void selectWindow(@NotNull EditorWindow currentWindow,
309309
windows.get(normalized).setAsCurrentWindow(true);
310310
}
311311

312-
private void splitWindow(int orientation, @NotNull DataContext context, @NotNull String filename) {
312+
private void splitWindow(int orientation, @NotNull DataContext context, @NotNull String filename, boolean focusNew) {
313313
final Project project = PlatformDataKeys.PROJECT.getData(context);
314314
if (project == null) return;
315315
final FileEditorManagerEx fileEditorManager = FileEditorManagerEx.getInstanceEx(project);
@@ -331,7 +331,7 @@ private void splitWindow(int orientation, @NotNull DataContext context, @NotNull
331331

332332
final EditorWindow editorWindow = fileEditorManager.getSplitters().getCurrentWindow();
333333
if (editorWindow != null) {
334-
editorWindow.split(orientation, true, virtualFile, true);
334+
editorWindow.split(orientation, true, virtualFile, focusNew);
335335
}
336336
}
337337

vim-engine/src/main/kotlin/com/maddyhome/idea/vim/group/VimWindowGroup.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2003-2023 The IdeaVim authors
2+
* Copyright 2003-2026 The IdeaVim authors
33
*
44
* Use of this source code is governed by an MIT-style
55
* license that can be found in the LICENSE.txt file or at
@@ -16,8 +16,8 @@ interface VimWindowGroup {
1616
fun selectWindow(context: ExecutionContext, index: Int)
1717
fun selectPreviousWindow(context: ExecutionContext)
1818
fun closeAllExceptCurrent(context: ExecutionContext)
19-
fun splitWindowVertical(context: ExecutionContext, filename: String)
20-
fun splitWindowHorizontal(context: ExecutionContext, filename: String)
19+
fun splitWindowVertical(context: ExecutionContext, filename: String, focusNew: Boolean = true)
20+
fun splitWindowHorizontal(context: ExecutionContext, filename: String, focusNew: Boolean = true)
2121
fun closeCurrentWindow(context: ExecutionContext)
2222
fun closeAll(context: ExecutionContext)
2323
}

0 commit comments

Comments
 (0)