mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-10-01 06:51:17 +07:00
UX-931 intentions preview: allow intention to modify a light virtual file
GitOrigin-RevId: 6b8b0b75606c612a07eb3a360e22fee06ba70475
This commit is contained in:
committed by
intellij-monorepo-bot
parent
29196834cc
commit
8e7f3ef597
+10
-4
@@ -3,7 +3,10 @@ package com.intellij.codeInsight.intention.impl;
|
||||
|
||||
import com.intellij.codeInsight.intention.IntentionAction;
|
||||
import com.intellij.ide.scratch.ScratchFileService;
|
||||
import com.intellij.openapi.vfs.NonPhysicalFileSystem;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import org.jetbrains.annotations.Nls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -36,9 +39,12 @@ public abstract class BaseIntentionAction implements IntentionAction {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return true, if element belongs to project content root or is located in scratch files
|
||||
* @return true, if element belongs to project content root or is located in scratch files or in non physical file
|
||||
*/
|
||||
public static boolean canModify(PsiElement element) {
|
||||
return element.getManager().isInProject(element) || ScratchFileService.isInScratchRoot(PsiUtilCore.getVirtualFile(element));
|
||||
}
|
||||
}
|
||||
VirtualFile virtualFile = PsiUtilCore.getVirtualFile(element);
|
||||
PsiFile containingFile = element.getContainingFile();
|
||||
return element.getManager().isInProject(element)
|
||||
|| ScratchFileService.isInScratchRoot(virtualFile)
|
||||
|| (containingFile != null && containingFile.getViewProvider().getVirtualFile().getFileSystem() instanceof NonPhysicalFileSystem);
|
||||
}}
|
||||
|
||||
Reference in New Issue
Block a user