mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-08 15:09:39 +07:00
IDEA-228078 deprecate ScratchFileType and use ScratchUtil#isScratch
GitOrigin-RevId: 817782ef46aca402a238375d32034f7051a162d2
This commit is contained in:
committed by
intellij-monorepo-bot
parent
4cd15fc6ca
commit
557a75f8a0
@@ -8,9 +8,8 @@ import com.intellij.execution.actions.ConfigurationFromContext;
|
||||
import com.intellij.execution.application.AbstractApplicationConfigurationProducer;
|
||||
import com.intellij.execution.application.ApplicationConfigurationType;
|
||||
import com.intellij.execution.configurations.ConfigurationFactory;
|
||||
import com.intellij.ide.scratch.ScratchFileType;
|
||||
import com.intellij.ide.scratch.ScratchUtil;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.fileTypes.FileTypeRegistry;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.Ref;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
@@ -36,7 +35,7 @@ public class JavaScratchConfigurationProducer extends AbstractApplicationConfigu
|
||||
final Location location = context.getLocation();
|
||||
if (location != null) {
|
||||
final VirtualFile vFile = location.getVirtualFile();
|
||||
if (vFile != null && FileTypeRegistry.getInstance().isFileOfType(vFile, ScratchFileType.INSTANCE)) {
|
||||
if (vFile != null && ScratchUtil.isScratch(vFile)) {
|
||||
final PsiFile psiFile = location.getPsiElement().getContainingFile();
|
||||
if (psiFile != null && psiFile.getLanguage() == JavaLanguage.INSTANCE) {
|
||||
configuration.setScratchFileUrl(vFile.getUrl());
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.codeInsight.daemon;
|
||||
|
||||
import com.intellij.ide.highlighter.JavaFileType;
|
||||
import com.intellij.ide.scratch.ScratchFileType;
|
||||
import com.intellij.ide.scratch.ScratchUtil;
|
||||
import com.intellij.openapi.roots.JavaProjectRootsUtil;
|
||||
import com.intellij.openapi.roots.ProjectFileIndex;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
@@ -30,7 +30,7 @@ public class JavaProblemHighlightFilter extends ProblemHighlightFilter {
|
||||
public boolean shouldHighlight(@NotNull PsiFile psiFile) {
|
||||
return psiFile.getFileType() != JavaFileType.INSTANCE ||
|
||||
!JavaProjectRootsUtil.isOutsideJavaSourceRoot(psiFile) ||
|
||||
psiFile.getViewProvider().getFileType() == ScratchFileType.INSTANCE;
|
||||
ScratchUtil.isScratch(psiFile.getVirtualFile());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -29,7 +29,7 @@ import com.intellij.codeInsight.template.Template;
|
||||
import com.intellij.codeInsight.template.TemplateBuilderFactory;
|
||||
import com.intellij.codeInsight.template.TemplateBuilderImpl;
|
||||
import com.intellij.codeInsight.template.TemplateEditingAdapter;
|
||||
import com.intellij.ide.scratch.ScratchFileType;
|
||||
import com.intellij.ide.scratch.ScratchUtil;
|
||||
import com.intellij.lang.java.JavaLanguage;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
@@ -38,7 +38,6 @@ import com.intellij.openapi.editor.CaretModel;
|
||||
import com.intellij.openapi.editor.Editor;
|
||||
import com.intellij.openapi.editor.RangeMarker;
|
||||
import com.intellij.openapi.fileEditor.ex.IdeDocumentHistory;
|
||||
import com.intellij.openapi.fileTypes.FileTypeRegistry;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ProjectFileIndex;
|
||||
@@ -87,7 +86,7 @@ public class CreateSubclassAction extends BaseIntentionAction {
|
||||
return false;
|
||||
}
|
||||
VirtualFile virtualFile = PsiUtilCore.getVirtualFile(psiClass);
|
||||
if (virtualFile == null || FileTypeRegistry.getInstance().isFileOfType(virtualFile, ScratchFileType.INSTANCE)) {
|
||||
if (virtualFile == null || ScratchUtil.isScratch(virtualFile)) {
|
||||
return false;
|
||||
}
|
||||
if (!isSupportedLanguage(psiClass)) return false;
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.intellij.json.editor;
|
||||
|
||||
import com.intellij.codeInsight.editorActions.CopyPastePostProcessor;
|
||||
import com.intellij.codeInsight.editorActions.TextBlockTransferableData;
|
||||
import com.intellij.ide.scratch.ScratchFileType;
|
||||
import com.intellij.ide.scratch.ScratchUtil;
|
||||
import com.intellij.json.JsonElementTypes;
|
||||
import com.intellij.json.JsonFileType;
|
||||
import com.intellij.json.psi.JsonArray;
|
||||
@@ -97,7 +97,7 @@ public class JsonCopyPastePostProcessor extends CopyPastePostProcessor<TextBlock
|
||||
if (file == null) return false;
|
||||
final FileType fileType = file.getFileType();
|
||||
if (fileType instanceof JsonFileType) return true;
|
||||
if (!(fileType instanceof ScratchFileType)) return false;
|
||||
if (!ScratchUtil.isScratch(file)) return false;
|
||||
return PsiDocumentManager.getInstance(project).getPsiFile(editor.getDocument()) instanceof JsonFile;
|
||||
}
|
||||
|
||||
|
||||
@@ -173,11 +173,12 @@ public class ScratchFileServiceImpl extends ScratchFileService implements Persis
|
||||
}
|
||||
}
|
||||
|
||||
// TODO new way of scratch language substitution will be needed
|
||||
public static class Substitutor extends LanguageSubstitutor {
|
||||
@Nullable
|
||||
@Override
|
||||
public Language getLanguage(@NotNull VirtualFile file, @NotNull Project project) {
|
||||
return substituteLanguage(project, file);
|
||||
return substituteLanguage(project, file);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -186,7 +187,7 @@ public class ScratchFileServiceImpl extends ScratchFileService implements Persis
|
||||
if (rootType == null) return null;
|
||||
Language language = rootType.substituteLanguage(project, file);
|
||||
Language adjusted = language != null ? language : getLanguageByFileName(file);
|
||||
Language result = adjusted != null && adjusted != ScratchFileType.INSTANCE.getLanguage() ?
|
||||
Language result = adjusted != null && adjusted != PlainTextLanguage.INSTANCE ?
|
||||
LanguageSubstitutors.getInstance().substituteLanguage(adjusted, file, project) : adjusted;
|
||||
return result == Language.ANY ? null : result;
|
||||
}
|
||||
@@ -196,7 +197,8 @@ public class ScratchFileServiceImpl extends ScratchFileService implements Persis
|
||||
@Override
|
||||
@Nullable
|
||||
public SyntaxHighlighter create(@NotNull FileType fileType, @Nullable Project project, @Nullable VirtualFile file) {
|
||||
if (project == null || file == null || !(fileType instanceof ScratchFileType)) return null;
|
||||
if (project == null || file == null) return null;
|
||||
if (!ScratchUtil.isScratch(file)) return null;
|
||||
|
||||
Language language = LanguageUtil.getLanguageForPsi(project, file);
|
||||
return language == null ? null : SyntaxHighlighterFactory.getSyntaxHighlighter(language, project, file);
|
||||
@@ -227,7 +229,7 @@ public class ScratchFileServiceImpl extends ScratchFileService implements Persis
|
||||
|
||||
@Override
|
||||
public boolean isWritable(@NotNull VirtualFile file) {
|
||||
return FileTypeRegistry.getInstance().isFileOfType(file, ScratchFileType.INSTANCE);
|
||||
return ScratchUtil.isScratch(file);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -319,8 +321,7 @@ public class ScratchFileServiceImpl extends ScratchFileService implements Persis
|
||||
@Override
|
||||
public UsageType getUsageType(PsiElement element) {
|
||||
VirtualFile file = PsiUtilCore.getVirtualFile(element);
|
||||
RootType rootType = file != null && FileTypeRegistry.getInstance().isFileOfType(file, ScratchFileType.INSTANCE) ?
|
||||
ScratchFileService.getInstance().getRootType(file) : null;
|
||||
RootType rootType = ScratchFileService.getInstance().getRootType(file);
|
||||
return rootType == null ? null : ourUsageTypes.get(rootType);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,4 @@
|
||||
/*
|
||||
* Copyright 2000-2015 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Copyright 2000-2020 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.
|
||||
package com.intellij.ide.scratch;
|
||||
|
||||
import com.intellij.openapi.fileTypes.LanguageFileType;
|
||||
@@ -21,6 +7,7 @@ import com.intellij.openapi.fileTypes.PlainTextLanguage;
|
||||
import com.intellij.openapi.fileTypes.ex.FileTypeIdentifiableByVirtualFile;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.vfs.newvfs.impl.FakeVirtualFile;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -28,7 +15,11 @@ import javax.swing.*;
|
||||
|
||||
/**
|
||||
* @author gregsh
|
||||
*
|
||||
* @deprecated use {@link ScratchUtil#isScratch(VirtualFile)}.
|
||||
*/
|
||||
@Deprecated
|
||||
@ApiStatus.ScheduledForRemoval(inVersion = "2020.3")
|
||||
public class ScratchFileType extends LanguageFileType implements FileTypeIdentifiableByVirtualFile {
|
||||
|
||||
public static final LanguageFileType INSTANCE = new ScratchFileType();
|
||||
|
||||
@@ -19,7 +19,6 @@ import com.intellij.openapi.actionSystem.LangDataKeys;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.PathManager;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.fileTypes.FileTypeRegistry;
|
||||
import com.intellij.openapi.fileTypes.LanguageFileType;
|
||||
import com.intellij.openapi.progress.ProgressManager;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
@@ -276,15 +275,16 @@ public class ScratchProjectViewPane extends ProjectViewPane {
|
||||
|
||||
@Override
|
||||
public boolean contains(@NotNull VirtualFile file) {
|
||||
return FileTypeRegistry.getInstance().isFileOfType(file, ScratchFileType.INSTANCE);
|
||||
return ScratchUtil.isScratch(file);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public Collection<? extends AbstractTreeNode<?>> getChildren() {
|
||||
List<AbstractTreeNode<?>> list = new ArrayList<>();
|
||||
Project project = ObjectUtils.notNull(getProject());
|
||||
for (RootType rootType : RootType.getAllRootTypes()) {
|
||||
ContainerUtil.addIfNotNull(list, createRootNode(getProject(), rootType, getSettings()));
|
||||
ContainerUtil.addIfNotNull(list, createRootNode(project, rootType, getSettings()));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.intellij.icons.AllIcons;
|
||||
import com.intellij.lang.Language;
|
||||
import com.intellij.openapi.command.UndoConfirmationPolicy;
|
||||
import com.intellij.openapi.command.WriteCommandAction;
|
||||
import com.intellij.openapi.fileTypes.PlainTextFileType;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.Messages;
|
||||
import com.intellij.openapi.vfs.VfsUtil;
|
||||
@@ -54,7 +55,7 @@ public final class ScratchRootType extends RootType {
|
||||
@Override
|
||||
public Icon substituteIcon(@NotNull Project project, @NotNull VirtualFile file) {
|
||||
if (file.isDirectory()) return null;
|
||||
Icon icon = ObjectUtils.chooseNotNull(super.substituteIcon(project, file), ScratchFileType.INSTANCE.getIcon());
|
||||
Icon icon = ObjectUtils.chooseNotNull(super.substituteIcon(project, file), PlainTextFileType.INSTANCE.getIcon());
|
||||
return LayeredIcon.create(icon, AllIcons.Actions.Scratch);
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ public class ScratchUtil {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if a file is in one of scratch roots: scratch, console, etc.
|
||||
* Returns true if a file or a directory is in one of scratch roots: scratch, console, etc.
|
||||
* @see RootType
|
||||
* @see ScratchFileService
|
||||
*/
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.intellij.psi.codeStyle;
|
||||
|
||||
import com.intellij.application.options.CodeStyle;
|
||||
import com.intellij.ide.actions.ShowSettingsUtilImpl;
|
||||
import com.intellij.ide.scratch.ScratchFileType;
|
||||
import com.intellij.ide.scratch.ScratchUtil;
|
||||
import com.intellij.lang.LanguageFormatting;
|
||||
import com.intellij.notification.Notification;
|
||||
import com.intellij.notification.NotificationDisplayType;
|
||||
@@ -101,9 +101,9 @@ public class DetectableIndentOptionsProvider extends FileIndentOptionsProvider {
|
||||
private boolean isEnabled(@NotNull CodeStyleSettings settings, @NotNull PsiFile file) {
|
||||
if (!file.isValid() ||
|
||||
!file.isWritable() ||
|
||||
(file instanceof PsiBinaryFile) ||
|
||||
(file instanceof PsiCompiledFile) ||
|
||||
file.getFileType() == ScratchFileType.INSTANCE) {
|
||||
file instanceof PsiBinaryFile ||
|
||||
file instanceof PsiCompiledFile ||
|
||||
ScratchUtil.isScratch(file.getVirtualFile())) {
|
||||
return false;
|
||||
}
|
||||
if (ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
package com.intellij.refactoring.rename;
|
||||
|
||||
import com.intellij.featureStatistics.FeatureUsageTracker;
|
||||
import com.intellij.ide.scratch.ScratchFileType;
|
||||
import com.intellij.ide.scratch.ScratchUtil;
|
||||
import com.intellij.openapi.actionSystem.CommonDataKeys;
|
||||
import com.intellij.openapi.actionSystem.DataContext;
|
||||
import com.intellij.openapi.actionSystem.DataKey;
|
||||
@@ -97,7 +97,7 @@ public class PsiElementRenameHandler implements RenameHandler {
|
||||
|
||||
if (checkInProject && nameSuggestionContext != null &&
|
||||
nameSuggestionContext.isPhysical() &&
|
||||
(contextFile == null || contextFile.getFileType() != ScratchFileType.INSTANCE) &&
|
||||
(contextFile == null || !ScratchUtil.isScratch(contextFile)) &&
|
||||
!PsiManager.getInstance(project).isInProject(nameSuggestionContext)) {
|
||||
final String message = "Selected element is used from non-project files. These usages won't be renamed. Proceed anyway?";
|
||||
if (ApplicationManager.getApplication().isUnitTestMode()) throw new CommonRefactoringUtil.RefactoringErrorHintException(message);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.intellij.plugins.markdown.ui.preview;
|
||||
|
||||
import com.intellij.ide.scratch.ScratchFileType;
|
||||
import com.intellij.ide.scratch.ScratchUtil;
|
||||
import com.intellij.lang.LanguageUtil;
|
||||
import com.intellij.openapi.fileEditor.FileEditor;
|
||||
import com.intellij.openapi.fileEditor.FileEditorPolicy;
|
||||
@@ -18,7 +18,7 @@ public class MarkdownPreviewFileEditorProvider extends WeighedFileEditorProvider
|
||||
final FileType fileType = file.getFileType();
|
||||
|
||||
return (fileType == MarkdownFileType.INSTANCE ||
|
||||
fileType == ScratchFileType.INSTANCE && LanguageUtil.getLanguageForPsi(project, file) == MarkdownLanguage.INSTANCE) &&
|
||||
ScratchUtil.isScratch(file) && LanguageUtil.getLanguageForPsi(project, file) == MarkdownLanguage.INSTANCE) &&
|
||||
MarkdownHtmlPanelProvider.hasAvailableProviders();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user