diff --git a/platform/lang-impl/src/com/intellij/execution/ExecutionHelper.java b/platform/lang-impl/src/com/intellij/execution/ExecutionHelper.java index 142bbfc399b2..2afdc436b3b7 100644 --- a/platform/lang-impl/src/com/intellij/execution/ExecutionHelper.java +++ b/platform/lang-impl/src/com/intellij/execution/ExecutionHelper.java @@ -88,7 +88,7 @@ public class ExecutionHelper { return; } for (final Exception exception : exceptionList) { - String[] messages = new String[]{exception.getMessage()}; + String[] messages = StringUtil.splitByLines(exception.getMessage()); if (messages.length == 0) messages = new String[]{"Unknown Error"}; errorTreeView.addMessage(MessageCategory.ERROR, messages, file, -1, -1, null); } diff --git a/platform/util/src/com/intellij/openapi/util/text/StringUtil.java b/platform/util/src/com/intellij/openapi/util/text/StringUtil.java index 03d3965e4068..68c6ff4e95f9 100644 --- a/platform/util/src/com/intellij/openapi/util/text/StringUtil.java +++ b/platform/util/src/com/intellij/openapi/util/text/StringUtil.java @@ -34,11 +34,13 @@ import java.io.PrintWriter; import java.io.StringWriter; import java.text.DateFormat; import java.util.*; +import java.util.regex.Pattern; //TeamCity inherits StringUtil: do not add private constructors!!! public class StringUtil { private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.util.text.StringUtil"); @NonNls private static final String VOWELS = "aeiouy"; + private static final Pattern EOL_SPLIT_PATTERN = Pattern.compile(" *(\r|\n|\r\n)+ *"); public static String replace(@NonNls @NotNull String text, @NonNls @NotNull String oldS, @NonNls @Nullable String newS) { return replace(text, oldS, newS, false); @@ -1600,4 +1602,14 @@ public class StringUtil { public static String tail(@NotNull String s, final int idx) { return idx >= s.length() ? "" : s.substring(idx, s.length()); } + + /** + * Splits string by lines. + * + * @param string String to split + * @return array of strings + */ + public static String[] splitByLines(final String string) { + return EOL_SPLIT_PATTERN.split(string); + } }