当前位置: 首页>>代码示例>>Java>>正文


Java PlatformIdTableBuilding.checkCanUseCachedEditorHighlighter方法代码示例

本文整理汇总了Java中com.intellij.psi.impl.cache.impl.id.PlatformIdTableBuilding.checkCanUseCachedEditorHighlighter方法的典型用法代码示例。如果您正苦于以下问题:Java PlatformIdTableBuilding.checkCanUseCachedEditorHighlighter方法的具体用法?Java PlatformIdTableBuilding.checkCanUseCachedEditorHighlighter怎么用?Java PlatformIdTableBuilding.checkCanUseCachedEditorHighlighter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.psi.impl.cache.impl.id.PlatformIdTableBuilding的用法示例。


在下文中一共展示了PlatformIdTableBuilding.checkCanUseCachedEditorHighlighter方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getLexerBasedOnLexerHighlighter

import com.intellij.psi.impl.cache.impl.id.PlatformIdTableBuilding; //导入方法依赖的package包/类
@Nullable
public static Lexer getLexerBasedOnLexerHighlighter(CharSequence text, VirtualFile virtualFile, Project project) {
  EditorHighlighter highlighter = null;

  PsiFile psiFile = virtualFile != null ? PsiManager.getInstance(project).findFile(virtualFile) : null;
  final Document document = psiFile != null ? PsiDocumentManager.getInstance(project).getDocument(psiFile) : null;
  final EditorHighlighter cachedEditorHighlighter;
  boolean alreadyInitializedHighlighter = false;

  if (document != null &&
      (cachedEditorHighlighter = getEditorHighlighterForCachesBuilding(document)) != null &&
      PlatformIdTableBuilding.checkCanUseCachedEditorHighlighter(text, cachedEditorHighlighter)) {
    highlighter = cachedEditorHighlighter;
    alreadyInitializedHighlighter = true;
  }
  else if (virtualFile != null) {
    highlighter = EditorHighlighterFactory.getInstance().createEditorHighlighter(project, virtualFile);
  }

  if (highlighter != null) {
    return new LexerEditorHighlighterLexer(highlighter, alreadyInitializedHighlighter);
  }
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:EditorHighlighterCache.java

示例2: getIndexingLexer

import com.intellij.psi.impl.cache.impl.id.PlatformIdTableBuilding; //导入方法依赖的package包/类
@Override
public Lexer getIndexingLexer(final PsiFile file) {
  if (JspPsiUtil.isInJspFile(file)) {
    EditorHighlighter highlighter = null;

    final Document document = PsiDocumentManager.getInstance(file.getProject()).getDocument(file);
    final EditorHighlighter cachedEditorHighlighter;
    boolean alreadyInitializedHighlighter = false;

    if ((cachedEditorHighlighter = EditorHighlighterCache.getEditorHighlighterForCachesBuilding(document)) != null &&
        PlatformIdTableBuilding.checkCanUseCachedEditorHighlighter(file.getText(), cachedEditorHighlighter)) {
      highlighter = cachedEditorHighlighter;
      alreadyInitializedHighlighter = true;
    }
    else {
      final VirtualFile virtualFile = file.getVirtualFile();
      if (virtualFile != null) {
        highlighter = EditorHighlighterFactory.getInstance().createEditorHighlighter(file.getProject(), virtualFile);
      }
    }

    if (highlighter != null) {
      return new LexerEditorHighlighterLexer(highlighter, alreadyInitializedHighlighter);
    }
  }

  return null;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:29,代码来源:JspIndexPatternBuilder.java


注:本文中的com.intellij.psi.impl.cache.impl.id.PlatformIdTableBuilding.checkCanUseCachedEditorHighlighter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。