From 05852b07c6090ad40fde7d3cafe0b074604f7ac5 Mon Sep 17 00:00:00 2001 From: Alex Plate <aleksei.plate@jetbrains.com> Date: Mon, 31 Oct 2022 09:51:37 +0200 Subject: [PATCH] Refactor commands output --- .../java/com/maddyhome/idea/vim/group/ProcessGroup.java | 4 ++-- .../com/maddyhome/idea/vim/helper/EngineStringHelper.kt | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/maddyhome/idea/vim/group/ProcessGroup.java b/src/main/java/com/maddyhome/idea/vim/group/ProcessGroup.java index 20316a4d1..3d3ba65d2 100644 --- a/src/main/java/com/maddyhome/idea/vim/group/ProcessGroup.java +++ b/src/main/java/com/maddyhome/idea/vim/group/ProcessGroup.java @@ -40,6 +40,7 @@ import com.maddyhome.idea.vim.command.Command; import com.maddyhome.idea.vim.command.VimStateMachine; import com.maddyhome.idea.vim.ex.ExException; import com.maddyhome.idea.vim.ex.InvalidCommandException; +import com.maddyhome.idea.vim.helper.EngineStringHelperKt; import com.maddyhome.idea.vim.helper.UiHelper; import com.maddyhome.idea.vim.newapi.IjExecutionContext; import com.maddyhome.idea.vim.newapi.IjVimEditor; @@ -262,10 +263,9 @@ public class ProcessGroup extends VimProcessGroupBase { if (exitCode != null && exitCode != 0) { VimPlugin.showMessage("shell returned " + exitCode); VimPlugin.indicateError(); - return output.getStderr() + output.getStdout(); } - return output.getStdout(); + return EngineStringHelperKt.removeAsciiColorCodes(output.getStderr() + output.getStdout()); }, "IdeaVim - !" + command, true, ((IjVimEditor) editor).getEditor().getProject()); } diff --git a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/helper/EngineStringHelper.kt b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/helper/EngineStringHelper.kt index 5f0b60ac0..08cace47f 100644 --- a/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/helper/EngineStringHelper.kt +++ b/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/helper/EngineStringHelper.kt @@ -53,3 +53,9 @@ object EngineStringHelper { return c.toString() } } + +// https://stackoverflow.com/a/14652763/3124227 +fun String.removeAsciiColorCodes(): String { + return this.replace("\u001B\\[[;\\d]*m".toRegex(), "") +} +