From 8d60f5808ef415dbeb9aa886cf8bdcd829a75951 Mon Sep 17 00:00:00 2001 From: "Vassiliy.Kudryashov" Date: Mon, 2 Nov 2020 20:06:45 +0300 Subject: [PATCH] IDEA-212529 Find/Find&Replace in path with newline always matches all whitespace at the beginning on subsequent line, disregarding the search pattern GitOrigin-RevId: c4c8fbae9b97b0fc8f6ae52c0b746203461a7f72 --- .../java-tests/testSrc/com/intellij/find/FindManagerTest.java | 4 ++-- .../lang-impl/src/com/intellij/find/impl/FindManagerImpl.java | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java b/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java index a6e21364e6c4..3e5e7486e2dd 100644 --- a/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java +++ b/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java @@ -999,7 +999,7 @@ public class FindManagerTest extends DaemonAnalyzerTestCase { FindModel findModel = FindManagerTestUtils.configureFindModel("System.currentTimeMillis();\n System.currentTimeMillis();"); findModel.setMultiline(true); String fileContent = "System.currentTimeMillis();\n System.currentTimeMillis();\n\n" + - " System.currentTimeMillis();\n System.currentTimeMillis();"; + " System.currentTimeMillis();\n System.currentTimeMillis();"; FindResult findResult = myFindManager.findString(fileContent, 0, findModel, null); assertTrue(findResult.isStringFound()); findResult = myFindManager.findString(fileContent, findResult.getEndOffset(), findModel, null); @@ -1010,7 +1010,7 @@ public class FindManagerTest extends DaemonAnalyzerTestCase { String text = "final override val\n" + " d1PrimitiveType by lazyThreadSafeIdempotentGenerator { D1PrimitiveType( typeManager = this ) }"; String pattern = "final override val\n" + - "d(\\w+)PrimitiveType by lazyThreadSafeIdempotentGenerator \\{ D(\\w+)PrimitiveType\\( typeManager = this \\) \\}"; + "\\s+d(\\w+)PrimitiveType by lazyThreadSafeIdempotentGenerator \\{ D(\\w+)PrimitiveType\\( typeManager = this \\) \\}"; String replacement = ""; FindModel findModel = FindManagerTestUtils.configureFindModel(pattern); diff --git a/platform/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java b/platform/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java index 2391814049af..72bff8a2bb04 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/find/impl/FindManagerImpl.java @@ -446,10 +446,9 @@ public final class FindManagerImpl extends FindManager { if (findmodel.isRegularExpressions()) { newStringToFind = StringUtil.replace(s, "\\n", "\n"); // temporary convert back escaped symbols - newStringToFind = newStringToFind.replaceAll( "\n", "\\\\n\\\\s*"); // add \\s* for convenience + newStringToFind = newStringToFind.replaceAll( "\n", "\\\\n"); } else { newStringToFind = StringUtil.escapeToRegexp(s); - newStringToFind = newStringToFind.replaceAll("\\\\n\\s*", "\\\\n\\\\s*"); model.setRegularExpressions(true); } model.setStringToFind(newStringToFind);