SSR: fix intention preview for document based replace handler (used by SSR for JavaScript)

GitOrigin-RevId: 71abec6e02a36ff2cea98057afbe43fc554713e8
This commit is contained in:
Bas Leijdekkers
2022-08-24 16:29:29 +00:00
committed by intellij-monorepo-bot
parent 269cc4a9ae
commit a7776721f2
@@ -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();