类com.intellij.psi.SingleRootFileViewProvider源码实例Demo

下面列出了怎么用com.intellij.psi.SingleRootFileViewProvider的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: consulo-csharp   文件: CSharpFragmentFactory.java
@Nonnull
public static CSharpFragmentFileImpl createExpressionFragment(Project project, String text, @Nullable final PsiElement context)
{
	LightVirtualFile virtualFile = new LightVirtualFile("dummy.cs", CSharpFileType.INSTANCE, text, System.currentTimeMillis());
	SingleRootFileViewProvider viewProvider = new SingleRootFileViewProvider(PsiManager.getInstance(project), virtualFile, true)
	{
		@Nonnull
		@Override
		public SingleRootFileViewProvider createCopy(@Nonnull final VirtualFile copy)
		{
			SingleRootFileViewProvider provider = new SingleRootFileViewProvider(getManager(), copy, false);
			CSharpFragmentFileImpl psiFile = new CSharpFragmentFileImpl(ourExpressionFileElementType, ourExpressionFileElementType, provider, context);
			provider.forceCachedPsi(psiFile);
			psiFile.getNode();
			return provider;
		}
	};
	CSharpFragmentFileImpl file = new CSharpFragmentFileImpl(ourExpressionFileElementType, ourExpressionFileElementType, viewProvider, context);
	viewProvider.forceCachedPsi(file);
	file.getNode();
	return file;
}
 
public HaxeExpressionCodeFragmentImpl(Project project,
                                      @NonNls String name,
                                      CharSequence text,
                                      boolean isPhysical) {
  super(new SingleRootFileViewProvider(PsiManager.getInstance(project),
                                       new LightVirtualFile(name, FileTypeManager.getInstance().getFileTypeByFileName(name), text),
                                       isPhysical) {
    @Override
    public boolean supportsIncrementalReparse(@NotNull Language rootLanguage) {
      return false;
    }
  });

  myPhysical = isPhysical;
  ((SingleRootFileViewProvider)getViewProvider()).forceCachedPsi(this);
  final MyHaxeFileElementType type = new MyHaxeFileElementType();
  init(type, type);
}
 
源代码3 项目: consulo   文件: HighlightingSettingsPerFile.java
@Override
public boolean shouldInspect(@Nonnull PsiElement psiRoot) {
  if (ApplicationManager.getApplication().isUnitTestMode()) return true;

  if (!shouldHighlight(psiRoot)) return false;
  final Project project = psiRoot.getProject();
  final VirtualFile virtualFile = psiRoot.getContainingFile().getVirtualFile();
  if (virtualFile == null || !virtualFile.isValid()) return false;

  if (ProjectCoreUtil.isProjectOrWorkspaceFile(virtualFile)) return false;

  final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex();
  if (ProjectScope.getLibrariesScope(project).contains(virtualFile) && !fileIndex.isInContent(virtualFile)) return false;

  if (SingleRootFileViewProvider.isTooLargeForIntelligence(virtualFile)) return false;

  final FileHighlightingSetting settingForRoot = getHighlightingSettingForRoot(psiRoot);
  return settingForRoot != FileHighlightingSetting.SKIP_INSPECTION;
}
 
源代码4 项目: consulo   文件: HighlightLevelUtil.java
public static boolean shouldInspect(@Nonnull PsiElement psiRoot) {
  if (ApplicationManager.getApplication().isUnitTestMode()) return true;

  if (!shouldHighlight(psiRoot)) return false;
  final Project project = psiRoot.getProject();
  final VirtualFile virtualFile = psiRoot.getContainingFile().getVirtualFile();
  if (virtualFile == null || !virtualFile.isValid()) return false;

  if (ProjectCoreUtil.isProjectOrWorkspaceFile(virtualFile)) return false;

  final ProjectFileIndex fileIndex = ProjectRootManager.getInstance(project).getFileIndex();
  if (ProjectScope.getLibrariesScope(project).contains(virtualFile) && !fileIndex.isInContent(virtualFile)) return false;

  if (SingleRootFileViewProvider.isTooLargeForIntelligence(virtualFile)) return false;

  final HighlightingSettingsPerFile component = HighlightingSettingsPerFile.getInstance(project);
  if (component == null) return true;

  final FileHighlightingSetting settingForRoot = component.getHighlightingSettingForRoot(psiRoot);
  return settingForRoot != FileHighlightingSetting.SKIP_INSPECTION;
}
 
源代码5 项目: consulo   文件: TemplateDataElementType.java
protected PsiFile createPsiFileFromSource(final Language language, CharSequence sourceCode, PsiManager manager) {
  @NonNls final LightVirtualFile virtualFile = new LightVirtualFile("foo", createTemplateFakeFileType(language), sourceCode, LocalTimeCounter.currentTime());

  FileViewProvider viewProvider = new SingleRootFileViewProvider(manager, virtualFile, false) {
    @Override
    @Nonnull
    public Language getBaseLanguage() {
      return language;
    }
  };

  // Since we're already inside a template language PSI that was built regardless of the file size (for whatever reason),
  // there should also be no file size checks for template data files.
  SingleRootFileViewProvider.doNotCheckFileSizeLimit(virtualFile);

  return viewProvider.getPsi(language);
}
 
源代码6 项目: intellij   文件: SkylarkExpressionCodeFragment.java
SkylarkExpressionCodeFragment(Project project, String fileName, String text, boolean isPhysical) {
  super(
      PsiManagerEx.getInstanceEx(project)
          .getFileManager()
          .createFileViewProvider(
              new LightVirtualFile(fileName, BuildFileType.INSTANCE, text), isPhysical));
  this.isPhysical = isPhysical;
  ((SingleRootFileViewProvider) getViewProvider()).forceCachedPsi(this);
}
 
源代码7 项目: consulo-csharp   文件: CSharpFragmentFactory.java
@Nonnull
public static CSharpFragmentFileImpl createTypeFragment(Project project, String text, @Nullable final PsiElement context)
{
	LightVirtualFile virtualFile = new LightVirtualFile("dummy.cs", CSharpFileType.INSTANCE, text, System.currentTimeMillis());
	SingleRootFileViewProvider viewProvider = new SingleRootFileViewProvider(PsiManager.getInstance(project), virtualFile, true);

	CSharpFragmentFileImpl file = new CSharpFragmentFileImpl(ourTypeFileElementType, ourTypeFileElementType, viewProvider, context);
	viewProvider.forceCachedPsi(file);
	file.getNode();
	return file;
}
 
@Override
public boolean accept(@NotNull Project project, @NotNull VirtualFile file) {
    return CsvHelper.isCsvFile(project, file) && !SingleRootFileViewProvider.isTooLargeForContentLoading(file);
}
 
@Override
public boolean accept(@NotNull Project project, @NotNull VirtualFile file) {
    return CsvEditorSettings.getInstance().getEditorPrio() != CsvEditorSettings.EditorPrio.TEXT_ONLY &&
            CsvHelper.isCsvFile(project, file) &&
            !SingleRootFileViewProvider.isTooLargeForIntelligence(file);
}
 
源代码10 项目: consulo   文件: TextEditorProvider.java
@Override
public boolean accept(@Nonnull Project project, @Nonnull VirtualFile file) {
  return isTextFile(file) && !SingleRootFileViewProvider.isTooLargeForContentLoading(file);
}
 
源代码11 项目: consulo   文件: LargeFileEditorProvider.java
@Override
public boolean accept(@Nonnull Project project, @Nonnull VirtualFile file) {
  return TextEditorProvider.isTextFile(file) && SingleRootFileViewProvider.isTooLargeForContentLoading(file);
}
 
源代码12 项目: consulo   文件: DesktopTextEditorProvider.java
@Override
public boolean accept(@Nonnull Project project, @Nonnull VirtualFile file) {
  return isTextFile(file) && !SingleRootFileViewProvider.isTooLargeForContentLoading(file);
}
 
源代码13 项目: consulo   文件: EmptyFileManager.java
@Override
@Nonnull
public FileViewProvider createFileViewProvider(@Nonnull final VirtualFile file, final boolean physical) {
  return new SingleRootFileViewProvider(myManager, file, physical);
}
 
源代码14 项目: consulo   文件: MockFileManager.java
public MockFileManager(final PsiManagerEx manager) {
  myManager = manager;
  myViewProviders = FactoryMap.create(key -> new SingleRootFileViewProvider(manager, key));
}
 
源代码15 项目: consulo   文件: MockFileManager.java
@Override
@Nonnull
public FileViewProvider createFileViewProvider(@Nonnull final VirtualFile file, final boolean physical) {
  return new SingleRootFileViewProvider(myManager, file, physical);
}
 
源代码16 项目: consulo   文件: FileBasedIndexImpl.java
private boolean isTooLarge(@Nonnull VirtualFile file) {
  if (SingleRootFileViewProvider.isTooLargeForIntelligence(file)) {
    return !myNoLimitCheckTypes.contains(file.getFileType()) || SingleRootFileViewProvider.isTooLargeForContentLoading(file);
  }
  return false;
}
 
源代码17 项目: consulo   文件: FileBasedIndexImpl.java
private boolean isTooLarge(@Nonnull VirtualFile file, long contentSize) {
  if (SingleRootFileViewProvider.isTooLargeForIntelligence(file, contentSize)) {
    return !myNoLimitCheckTypes.contains(file.getFileType()) || SingleRootFileViewProvider.isTooLargeForContentLoading(file, contentSize);
  }
  return false;
}
 
源代码18 项目: CppTools   文件: CppCodeFragment.java
public CppCodeFragment(@NotNull FileViewProvider fileViewProvider) {
  super(fileViewProvider);
  ((SingleRootFileViewProvider)fileViewProvider).forceCachedPsi(this);
}
 
 类所在包
 同包方法