From c15eccf49adfb1a7c319a3c08082230cab89be67 Mon Sep 17 00:00:00 2001 From: Michal Placek Date: Fri, 25 Jun 2021 16:46:21 +0200 Subject: [PATCH] vim-1062 -fixes --- resources/META-INF/includes/VimExCommands.xml | 4 ++-- .../maddyhome/idea/vim/ex/handler/BufferCloseHandler.kt | 6 +++--- src/com/maddyhome/idea/vim/group/FileGroup.java | 7 +------ 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/resources/META-INF/includes/VimExCommands.xml b/resources/META-INF/includes/VimExCommands.xml index e4d23b51a7..b80183c51c 100644 --- a/resources/META-INF/includes/VimExCommands.xml +++ b/resources/META-INF/includes/VimExCommands.xml @@ -32,10 +32,10 @@ - + - + diff --git a/src/com/maddyhome/idea/vim/ex/handler/BufferCloseHandler.kt b/src/com/maddyhome/idea/vim/ex/handler/BufferCloseHandler.kt index 5addc27935..c12e61cc67 100644 --- a/src/com/maddyhome/idea/vim/ex/handler/BufferCloseHandler.kt +++ b/src/com/maddyhome/idea/vim/ex/handler/BufferCloseHandler.kt @@ -29,9 +29,9 @@ class BufferCloseHandler : CommandHandler.SingleExecution() { override val argFlags = flags(RangeFlag.RANGE_OPTIONAL, ArgumentFlag.ARGUMENT_OPTIONAL, Access.READ_ONLY) override fun execute(editor: Editor, context: DataContext, cmd: ExCommand): Boolean { val arg = cmd.argument.trim() - if (arg.isNotEmpty() && arg.matches(Regex("^\\d+$"))) { - val bufNum = arg.toInt() - 1 - VimPlugin.getFile().closeFile(bufNum, editor, context) + val bufNum = arg.toIntOrNull(); + if (bufNum != null) { + VimPlugin.getFile().closeFile(bufNum - 1, context) } else { VimPlugin.getFile().closeFile(editor, context) } diff --git a/src/com/maddyhome/idea/vim/group/FileGroup.java b/src/com/maddyhome/idea/vim/group/FileGroup.java index 45d98100b1..1ce0409a16 100644 --- a/src/com/maddyhome/idea/vim/group/FileGroup.java +++ b/src/com/maddyhome/idea/vim/group/FileGroup.java @@ -163,19 +163,14 @@ public void closeFile(@NotNull Editor editor, @NotNull DataContext context) { /** * Closes editor. */ - public void closeFile(int number, @NotNull Editor editor, @NotNull DataContext context) { + public void closeFile(int number, @NotNull DataContext context) { final Project project = PlatformDataKeys.PROJECT.getData(context); final FileEditorManagerEx fileEditorManager = FileEditorManagerEx.getInstanceEx(project); final EditorWindow window = fileEditorManager.getCurrentWindow(); VirtualFile[] editors = fileEditorManager.getOpenFiles(); - if (number == 99) { - number = editors.length - 1; - } if (number >= 0 && number < editors.length) { fileEditorManager.closeFile(editors[number], window); } - if (number < 0 || number >= editors.length) { - } } /**