From 159af69b9a4e2c58390d9afc563a1f0b6213e4d9 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Thu, 2 Jul 2015 17:13:50 +0200 Subject: [PATCH] IDEA-142050 Search and Replace All not working --- .../com/intellij/find/FindManagerTest.java | 22 +++++++++++++++++++ .../src/com/intellij/find/FindUtil.java | 3 +-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java b/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java index 1fa5ce12b7f9..3f467403c061 100644 --- a/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java +++ b/java/java-tests/testSrc/com/intellij/find/FindManagerTest.java @@ -461,6 +461,28 @@ public class FindManagerTest extends DaemonAnalyzerTestCase { assertEquals(text+"\n", getEditor().getDocument().getText()); } + public void testReplaceWithRegExp() { + FindModel findModel = new FindModel(); + findModel.setStringToFind("(? { diff --git a/platform/lang-impl/src/com/intellij/find/FindUtil.java b/platform/lang-impl/src/com/intellij/find/FindUtil.java index b60587f1d369..94ea1df621ca 100644 --- a/platform/lang-impl/src/com/intellij/find/FindUtil.java +++ b/platform/lang-impl/src/com/intellij/find/FindUtil.java @@ -531,8 +531,7 @@ public class FindUtil { String foundString = document.getCharsSequence().subSequence(startOffset, endOffset).toString(); String toReplace; try { - CharSequence textToMatch = document.getCharsSequence().subSequence(offset, document.getTextLength()); - toReplace = findManager.getStringToReplace(foundString, model, startOffset - offset, textToMatch); + toReplace = findManager.getStringToReplace(foundString, model, startOffset, document.getCharsSequence()); } catch (FindManager.MalformedReplacementStringException e) { if (!ApplicationManager.getApplication().isUnitTestMode()) {