當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。