org.eclipse.xtext.xbase.ui.highlighting
Class XbaseHighlightingCalculator

java.lang.Object
  extended by org.eclipse.xtext.xbase.ui.highlighting.XbaseHighlightingCalculator
All Implemented Interfaces:
ISemanticHighlightingCalculator
Direct Known Subclasses:
RichStringAwareHighlightingCalculator

public class XbaseHighlightingCalculator
extends java.lang.Object
implements ISemanticHighlightingCalculator

A base implementation of the semantic highlighting calculation.

Highlights references to Primitives, e.g. void, int, boolean and the identifier this.

Author:
Sebastian Zarnekow - Initial contribution and API

Constructor Summary
XbaseHighlightingCalculator()
           
 
Method Summary
protected  void doProvideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor)
          Actual implementation of the semantic highlighting calculation.
protected  void highlightNode(INode node, java.lang.String id, IHighlightedPositionAcceptor acceptor)
          Highlights the non-hidden parts of node with the style that is associated with id.
protected  void highlightSpecialIdentifiers(IHighlightedPositionAcceptor acceptor, ICompositeNode root)
           
protected  void highlightSpecialIdentifiers(ILeafNode leafNode, IHighlightedPositionAcceptor acceptor, TerminalRule idRule)
           
protected  java.util.Map<java.lang.String,java.lang.String> initializeHighlightedIdentifiers()
          Returns a mapping from identifier (e.g.
 void provideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XbaseHighlightingCalculator

public XbaseHighlightingCalculator()
Method Detail

provideHighlightingFor

public void provideHighlightingFor(XtextResource resource,
                                   IHighlightedPositionAcceptor acceptor)
Specified by:
provideHighlightingFor in interface ISemanticHighlightingCalculator
Parameters:
resource - the resource that will be highlighted. May be null in some rare cases.
acceptor - used to announce the mapping from text-range to the style's id. The acceptor will never be null.

doProvideHighlightingFor

protected void doProvideHighlightingFor(XtextResource resource,
                                        IHighlightedPositionAcceptor acceptor)

Actual implementation of the semantic highlighting calculation. It is ensured, that the given resource is not null and refers to an initialized parse result.

Clients should override this method in order to perform custom highlighting.

Parameters:
resource - a valid to-be-processed resource. Is never null.
acceptor - the acceptor. Is never null.

highlightSpecialIdentifiers

protected void highlightSpecialIdentifiers(IHighlightedPositionAcceptor acceptor,
                                           ICompositeNode root)

highlightSpecialIdentifiers

protected void highlightSpecialIdentifiers(ILeafNode leafNode,
                                           IHighlightedPositionAcceptor acceptor,
                                           TerminalRule idRule)

initializeHighlightedIdentifiers

protected java.util.Map<java.lang.String,java.lang.String> initializeHighlightedIdentifiers()
Returns a mapping from identifier (e.g. 'void', 'int', 'this') to highlighting ID. May not return null.

Returns:
a mapping from identifier (e.g. 'void', 'int', 'this') to highlighting ID.

highlightNode

protected void highlightNode(INode node,
                             java.lang.String id,
                             IHighlightedPositionAcceptor acceptor)
Highlights the non-hidden parts of node with the style that is associated with id.