diff --git a/platform/structuralsearch/source/com/intellij/structuralsearch/DocumentBasedReplaceHandler.java b/platform/structuralsearch/source/com/intellij/structuralsearch/DocumentBasedReplaceHandler.java index f87afc4ea7d4..e4d90705ee07 100644 --- a/platform/structuralsearch/source/com/intellij/structuralsearch/DocumentBasedReplaceHandler.java +++ b/platform/structuralsearch/source/com/intellij/structuralsearch/DocumentBasedReplaceHandler.java @@ -1,12 +1,14 @@ -// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.structuralsearch; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.RangeMarker; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.TextRange; +import com.intellij.psi.FileViewProvider; import com.intellij.psi.PsiDocumentManager; import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiFile; import com.intellij.structuralsearch.plugin.replace.ReplaceOptions; import com.intellij.structuralsearch.plugin.replace.ReplacementInfo; import org.jetbrains.annotations.NotNull; @@ -37,7 +39,9 @@ public class DocumentBasedReplaceHandler extends StructuralReplaceHandler { public void prepare(@NotNull ReplacementInfo info) { final PsiElement firstElement = StructuralSearchUtil.getPresentableElement(info.getMatch(0)); if (firstElement == null) return; - final Document document = PsiDocumentManager.getInstance(myProject).getDocument(firstElement.getContainingFile()); + final PsiFile file = firstElement.getContainingFile(); + final FileViewProvider fileViewProvider = file.getViewProvider(); + final Document document = fileViewProvider.getDocument(); assert document != null; final TextRange range = firstElement.getTextRange(); int startOffset = range.getStartOffset();