mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
introduce utility ScratchFileService.isInScratchRoot(file)
This commit is contained in:
@@ -46,4 +46,8 @@ public abstract class ScratchFileService {
|
||||
|
||||
@NotNull
|
||||
public abstract PerFileMappings<Language> getScratchesMapping();
|
||||
|
||||
public static boolean isInScratchRoot(@Nullable VirtualFile file) {
|
||||
return getInstance().getRootType(file) != null;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-8
@@ -22,9 +22,9 @@ import com.intellij.openapi.actionSystem.LangDataKeys;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.refactoring.move.MoveCallback;
|
||||
import com.intellij.refactoring.move.MoveHandlerDelegate;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -62,13 +62,7 @@ public class MoveFilesOrDirectoriesHandler extends MoveHandlerDelegate {
|
||||
|
||||
public static boolean isValidTarget(PsiElement psiElement) {
|
||||
if (!(psiElement instanceof PsiDirectory || psiElement instanceof PsiDirectoryContainer)) return false;
|
||||
return psiElement.getManager().isInProject(psiElement) || isInScratches(psiElement);
|
||||
}
|
||||
|
||||
protected static boolean isInScratches(PsiElement psiElement) {
|
||||
VirtualFile virtualFile = psiElement instanceof PsiFileSystemItem ? ((PsiFileSystemItem)psiElement).getVirtualFile() : null;
|
||||
if (virtualFile != null && ScratchFileService.getInstance().getRootType(virtualFile) != null) return true;
|
||||
return false;
|
||||
return psiElement.getManager().isInProject(psiElement) || ScratchFileService.isInScratchRoot(PsiUtilCore.getVirtualFile(psiElement));
|
||||
}
|
||||
|
||||
public void doMove(final PsiElement[] elements, final PsiElement targetContainer) {
|
||||
|
||||
@@ -23,7 +23,7 @@ import com.intellij.codeInsight.lookup.LookupElement;
|
||||
import com.intellij.codeInsight.lookup.LookupElementBuilder;
|
||||
import com.intellij.ide.fileTemplates.FileTemplate;
|
||||
import com.intellij.ide.fileTemplates.FileTemplateManager;
|
||||
import com.intellij.ide.scratch.ScratchRootType;
|
||||
import com.intellij.ide.scratch.ScratchFileService;
|
||||
import com.intellij.injected.editor.VirtualFileWindow;
|
||||
import com.intellij.lang.ASTFactory;
|
||||
import com.intellij.lang.ASTNode;
|
||||
@@ -55,6 +55,7 @@ import com.intellij.psi.*;
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettingsManager;
|
||||
import com.intellij.psi.stubs.StubElement;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.psi.util.QualifiedName;
|
||||
import com.intellij.ui.awt.RelativePoint;
|
||||
import com.intellij.util.*;
|
||||
@@ -1832,8 +1833,7 @@ public class PyUtil {
|
||||
}
|
||||
|
||||
public static boolean isInScratchFile(@NotNull PsiElement element) {
|
||||
PsiFile file = element.getContainingFile();
|
||||
return file != null && ScratchRootType.getInstance().isScratchFile(file.getVirtualFile());
|
||||
return ScratchFileService.isInScratchRoot(PsiUtilCore.getVirtualFile(element));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user