下面列出了怎么用org.eclipse.jface.text.rules.RuleBasedScanner的API类实例代码及写法,或者点击链接到github查看源代码。
protected RuleBasedScanner getImpexScanner(String partition) {
RuleBasedScanner scanner = scanMap.get(partition);
if (scanner == null) {
scanner = new ImpexRuleScanner(ColorProvider.getInstance());
if (partition != null) {
switch (partition) {
case ImpexDocumentPartitioner.IMPEX_INSTRUCTION:
scanner = new InstructionsRuleScanner(ColorProvider.getInstance());
break;
}
}
}
return scanner;
}
private RuleBasedScanner getCommentScanner(){
if (commentScanner == null) {
commentScanner = new HCommentScanner();
commentScanner.setDefaultReturnToken(new Token(new TextAttribute(ResourceUtils.getColor(Styles.COMMENT))));
}
return commentScanner;
}
private RuleBasedScanner getValueScanner(){
if (valueScanner == null) {
valueScanner = new HValueScanner();
valueScanner.setDefaultReturnToken(new Token(new TextAttribute(ResourceUtils.getColor(Styles.STRING))));
}
return valueScanner;
}
private RuleBasedScanner getDefaultScanner(){
if (defaultScanner == null) {
defaultScanner = new HDefaultScanner();
defaultScanner.setDefaultReturnToken(new Token(new TextAttribute(ResourceUtils.getColor(Styles.KEY))));
}
return defaultScanner;
}
private ITokenScanner getStartEndTokenScanner() {
if (startEndTokenScanner == null) {
RuleBasedScanner ts = new RuleBasedScanner();
IToken seqToken = new Token(getStartEndTokenType());
List<IRule> rules = new ArrayList<IRule>();
for (String[] pair : getPartitionerSwitchStrategy().getSwitchTagPairs()) {
rules.add(new SingleTagRule(pair[0], seqToken));
rules.add(new SingleTagRule(pair[1], seqToken));
}
ts.setRules(rules.toArray(new IRule[rules.size()]));
ts.setDefaultReturnToken(new Token("text")); //$NON-NLS-1$
startEndTokenScanner = ts;
}
return startEndTokenScanner;
}
ITokenScanner getCommentScanner() {
// lazy init
if (this.commentScanner == null) {
final Token comment = new Token(new TextAttribute(JFaceResources.getColorRegistry().get(COMMENT_COLOR)));
// no rules needed, because this will apply to comment partition
// only
final RuleBasedScanner ruleBasedScanner = new RuleBasedScanner();
// this will apply the syntax
ruleBasedScanner.setDefaultReturnToken(comment);
this.commentScanner = ruleBasedScanner;
}
return commentScanner;
}
/**
* Gets default scanner
*
* @return scanner
*/
protected RuleBasedScanner getDefaultScanner( )
{
if ( scanner == null )
{
scanner = new JSScanner( );
scanner.setDefaultReturnToken( new Token( UIUtil.getAttributeFor( ReportPlugin.EXPRESSION_CONTENT_COLOR_PREFERENCE ) ) );
}
return scanner;
}
/**
* Returns the TypeScript source code scanner for this configuration.
*
* @return the TypeScript source code scanner
*/
@Override
protected RuleBasedScanner getCodeScanner() {
return fCodeScanner;
}
/**
* Returns the JSX source code scanner for this configuration.
*
* @return the JSX source code scanner
*/
protected RuleBasedScanner getJSXScanner() {
return jsxScanner;
}
/**
* Returns the Java source code scanner for this configuration.
*
* @return the Java source code scanner
*/
protected RuleBasedScanner getCodeScanner() {
return fCodeScanner;
}
/**
* Returns the Java multi-line comment scanner for this configuration.
*
* @return the Java multi-line comment scanner
* @since 2.0
*/
protected RuleBasedScanner getMultilineCommentScanner() {
return fMultilineCommentScanner;
}
/**
* Returns the Java single-line comment scanner for this configuration.
*
* @return the Java single-line comment scanner
* @since 2.0
*/
protected RuleBasedScanner getSinglelineCommentScanner() {
return fSinglelineCommentScanner;
}
/**
* Returns the Java string scanner for this configuration.
*
* @return the Java string scanner
* @since 2.0
*/
protected RuleBasedScanner getStringScanner() {
return fStringScanner;
}
/**
* Returns the JavaDoc scanner for this configuration.
*
* @return the JavaDoc scanner
*/
protected RuleBasedScanner getJavaDocScanner() {
return fJavaDocScanner;
}
/**
* Returns a scanner which is configured to scan Java source code.
*
* @return a Java source code scanner
* @deprecated As of 3.0, replaced by {@link JavaSourceViewerConfiguration#getCodeScanner()}
*/
public RuleBasedScanner getCodeScanner() {
return fCodeScanner;
}
/**
* Returns a scanner which is configured to scan Java multi-line comments.
*
* @return a Java multi-line comment scanner
* @since 2.0
* @deprecated As of 3.0, replaced by {@link JavaSourceViewerConfiguration#getMultilineCommentScanner()}
*/
public RuleBasedScanner getMultilineCommentScanner() {
return fMultilineCommentScanner;
}
/**
* Returns a scanner which is configured to scan Java single-line comments.
*
* @return a Java single-line comment scanner
* @since 2.0
* @deprecated As of 3.0, replaced by {@link JavaSourceViewerConfiguration#getSinglelineCommentScanner()}
*/
public RuleBasedScanner getSinglelineCommentScanner() {
return fSinglelineCommentScanner;
}
/**
* Returns a scanner which is configured to scan Java strings.
*
* @return a Java string scanner
* @since 2.0
* @deprecated As of 3.0, replaced by {@link JavaSourceViewerConfiguration#getStringScanner()}
*/
public RuleBasedScanner getStringScanner() {
return fStringScanner;
}
/**
* Returns a scanner which is configured to scan JavaDoc compliant comments.
* <p>
* Note that the start sequence "/**" and the corresponding end sequence
* are part of the Javadoc comment.</p>
*
* @return a Javadoc scanner
* @deprecated As of 3.0, replaced by {@link JavaSourceViewerConfiguration#getJavaDocScanner()}
*/
public RuleBasedScanner getJavaDocScanner() {
return fJavaDocScanner;
}
/**
* Returns the property key scanner for this configuration.
*
* @return the property key scanner
*/
protected RuleBasedScanner getPropertyKeyScanner() {
return fPropertyKeyScanner;
}
/**
* Returns the comment scanner for this configuration.
*
* @return the comment scanner
*/
protected RuleBasedScanner getCommentScanner() {
return fCommentScanner;
}
/**
* Returns the property value scanner for this configuration.
*
* @return the property value scanner
*/
protected RuleBasedScanner getPropertyValueScanner() {
return fPropertyValueScanner;
}
/**
* Returns the property key scanner for this configuration.
*
* @return the property key scanner
*/
protected RuleBasedScanner getPropertyKeyScanner() {
return propertyKeyScanner;
}
/**
* Returns the comment scanner for this configuration.
*
* @return the comment scanner
*/
protected RuleBasedScanner getCommentScanner() {
return commentScanner;
}
/**
* Returns the section scanner for this configuration.
*
* @return the section scanner
*/
protected RuleBasedScanner getSectionNameScanner() {
return sectionScanner;
}
/**
* Returns the property value scanner for this configuration.
*
* @return the property value scanner
*/
protected RuleBasedScanner getPropertyValueScanner() {
return propertyValueScanner;
}