From f1b506a37ee90563289eb62c4c227c0ff1ec4e10 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Mon, 22 Apr 2013 12:33:08 +0200 Subject: [PATCH] limit size of LineTextErrorStripeTooltip, as there are man files with long lines (IDEA-105872) --- .../codeInsight/highlighting/HighlightHandlerBase.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightHandlerBase.java b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightHandlerBase.java index 6643fa8fa260..5a8a2adbe0d5 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightHandlerBase.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/highlighting/HighlightHandlerBase.java @@ -39,7 +39,13 @@ public abstract class HighlightHandlerBase { public static String getLineTextErrorStripeTooltip(Document document, int offset, boolean escape) { final int lineNumber = document.getLineNumber(offset); - final String lineText = document.getText().substring(document.getLineStartOffset(lineNumber), document.getLineEndOffset(lineNumber)); + int lineStartOffset = document.getLineStartOffset(lineNumber); + int lineEndOffset = document.getLineEndOffset(lineNumber); + int lineFragmentEndOffset = Math.min(lineStartOffset + 140, lineEndOffset); + String lineText = document.getText().substring(lineStartOffset, lineFragmentEndOffset); + if (lineFragmentEndOffset != lineEndOffset) { + lineText = lineText.trim() + "..."; + } return " " + (escape ? StringUtil.escapeXml(lineText.trim()) : lineText.trim()) + " "; } }