首页 > 其他 > 详细

。。。。

时间:2017-05-17 09:28:30      阅读:235      评论:0      收藏:0      [点我收藏+]
public class DylanLineMarkerProvider implements LineMarkerProvider { 
  protected final DaemonCodeAnalyzerSettings myDaemonSettings; 
  protected final EditorColorsManager myColorsManager; 
 
  public DylanLineMarkerProvider(DaemonCodeAnalyzerSettings daemonSettings, EditorColorsManager colorsManager) { 
    myDaemonSettings = daemonSettings; 
    myColorsManager = colorsManager; 
  } 
 
  @Override 
  @Nullable 
  public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement element) { 
    if (myDaemonSettings.SHOW_METHOD_SEPARATORS) { 
      if (element instanceof DylanDefinition) { 
        LineMarkerInfo info = new LineMarkerInfo<PsiElement>(element, element.getTextRange(), null, Pass.UPDATE_ALL, 
                                                             FunctionUtil.<Object, String>nullConstant(), null, 
                                                             GutterIconRenderer.Alignment.RIGHT); 
        EditorColorsScheme scheme = myColorsManager.getGlobalScheme(); 
        info.separatorColor = scheme.getColor(CodeInsightColors.METHOD_SEPARATORS_COLOR); 
        info.separatorPlacement = SeparatorPlacement.BOTTOM; 
        return info; 
      } 
    } 
    return null; 
  } 
 
  @Override 
  public void collectSlowLineMarkers(@NotNull List<PsiElement> elements, @NotNull Collection<LineMarkerInfo> result) { 
  } 
}

  

public class DylanParserDefinition implements ParserDefinition { 
  public static final IFileElementType FILE = new IFileElementType(DylanLanguage.INSTANCE); 
 
  @NotNull 
  @Override 
  public Lexer createLexer(Project project) { 
    return new DylanFlexLexer(); 
  } 
 
  @NotNull 
  public TokenSet getWhitespaceTokens() { 
    return WHITE_SPACES; 
  } 
 
  @NotNull 
  public TokenSet getCommentTokens() { 
    return COMMENTS; 
  } 
 
  @NotNull 
  public TokenSet getStringLiteralElements() { 
    return TokenSet.EMPTY; 
  } 
 
  @NotNull 
  public PsiParser createParser(final Project project) { 
    return new DylanParser(); 
  } 
 
  @Override 
  public IFileElementType getFileNodeType() { 
    return FILE; 
  } 
 
  public PsiFile createFile(FileViewProvider viewProvider) { 
    return new DylanFile(viewProvider); 
  } 
 
  public SpaceRequirements spaceExistanceTypeBetweenTokens(ASTNode left, ASTNode right) { 
    return SpaceRequirements.MAY; 
  } 
 
  @NotNull 
  public PsiElement createElement(ASTNode node) { 
    return DylanTypes.Factory.createElement(node); 
  } 
}

  

 

。。。。

原文:http://www.cnblogs.com/liqiking/p/6865628.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!