From 62929ba6f53ba375e40452b7a935c3419f72f4ad Mon Sep 17 00:00:00 2001 From: Natalia Selezneva Date: Thu, 31 May 2018 12:25:41 +0300 Subject: [PATCH] Fix AE in scratch for long lines ^KT-24638 Fixed --- .../scratch/output/InlayScratchOutputHandler.kt | 3 ++- idea/testData/scratch/veryLongOutput.comp.after | 14 +++++++++----- idea/testData/scratch/veryLongOutput.kts | 3 ++- idea/testData/scratch/veryLongOutput.repl.after | 8 +++++--- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/output/InlayScratchOutputHandler.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/output/InlayScratchOutputHandler.kt index a99c0a3516c..6f44d0a89ed 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/output/InlayScratchOutputHandler.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/scratch/output/InlayScratchOutputHandler.kt @@ -69,7 +69,8 @@ object InlayScratchOutputHandler : ScratchOutputHandler { fun addInlay(text: String) { val textBeforeNewLine = if (StringUtil.containsLineBreak(text)) text.substringBefore("\n") + "..." else text - val shortText = StringUtil.shortenTextWithEllipsis(textBeforeNewLine, maxLineLength - spaceCount - lineLength, 0) + val maxInlayLength = (maxLineLength - spaceCount - lineLength).takeIf { it > 5 } ?: 5 + val shortText = StringUtil.shortenTextWithEllipsis(textBeforeNewLine, maxInlayLength, 0) if (shortText != text) { printToToolWindow(file, expression, output) } diff --git a/idea/testData/scratch/veryLongOutput.comp.after b/idea/testData/scratch/veryLongOutput.comp.after index facfbbc0c36..101e7d6ba94 100644 --- a/idea/testData/scratch/veryLongOutput.comp.after +++ b/idea/testData/scratch/veryLongOutput.comp.after @@ -1,8 +1,12 @@ -val a = "a".repeat(100) // RESULT: val a: String -a // RESULT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... -val b = "0123456789\n".repeat(10) // RESULT: val b: String -b // RESULT: 0123456789; 0123456789; 0123456789; 0123456789; 0123456789; 0123456789; 01234567... +val a = "a".repeat(100) // RESULT: val a: String +a // RESULT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... +val b = "0123456789\n".repeat(10) // RESULT: val b: String +b // RESULT: 0123456789; 0123456789; 0123456789; 0123456789; 012345678... +println("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789") // OUTPUT: 01... /** veryLongOutput.kts:2 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa */ /** veryLongOutput.kts:4 0123456789 */ /** veryLongOutput.kts:4 0123456789 */ -/** veryLongOutput.kts:4 0123456789 */ \ No newline at end of file +/** veryLongOutput.kts:4 0123456789 */ +/** veryLongOutput.kts:4 0123456789 */ +/** veryLongOutput.kts:4 0123456789 */ +/** veryLongOutput.kts:5 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 */ \ No newline at end of file diff --git a/idea/testData/scratch/veryLongOutput.kts b/idea/testData/scratch/veryLongOutput.kts index b9434cf20dc..05113ad5380 100644 --- a/idea/testData/scratch/veryLongOutput.kts +++ b/idea/testData/scratch/veryLongOutput.kts @@ -1,4 +1,5 @@ val a = "a".repeat(100) a val b = "0123456789\n".repeat(10) -b \ No newline at end of file +b +println("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789") \ No newline at end of file diff --git a/idea/testData/scratch/veryLongOutput.repl.after b/idea/testData/scratch/veryLongOutput.repl.after index 83a3d331b9a..def50b185ec 100644 --- a/idea/testData/scratch/veryLongOutput.repl.after +++ b/idea/testData/scratch/veryLongOutput.repl.after @@ -1,7 +1,8 @@ val a = "a".repeat(100) -a // RESULT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... +a // RESULT: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... val b = "0123456789\n".repeat(10) -b // RESULT: 0123456789... +b // RESULT: 0123456789... +println("0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789") // OUTPUT: 01... /** veryLongOutput.kts:2 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa */ /** veryLongOutput.kts:4 0123456789 0123456789 @@ -12,4 +13,5 @@ b // RESULT: 0123456789... 0123456789 0123456789 0123456789 -0123456789 */ \ No newline at end of file +0123456789 */ +/** veryLongOutput.kts:5 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 */ \ No newline at end of file