@Override public RuleBasedScanner createItemParser() { List<IRule> rules = new ArrayList<IRule>(); for (Directive directive : Directive.values()) { if (!directive.isEndDirective()) { rules.add(new DirectiveRule(directive)); } } RuleBasedScanner result = new SyntaxModeListenerRuleBasedScanner(); result.setRules(rules.toArray(new IRule[rules.size()])); return result; }
public RuleBasedScanner getCodeScanner() { RuleBasedScanner scanner = new RuleBasedScanner(); List rules = new ArrayList(); Rule main = mode.getDefaultRuleSet(); addWhitespaceRule(rules); IToken defaultToken = newToken(ColorsPreferencePage.NULL_COLOR); addTextSequenceRules(main, rules, defaultToken); IRule[] result = new IRule[rules.size()]; rules.toArray(result); scanner.setRules(result); return scanner; }
private RuleBasedScanner getDelegateScanner(Rule rule) { RuleBasedScanner scanner = new RuleBasedScanner(); List rules = new ArrayList(); String colorName = colorManager.colorForType(rule.getDefaultTokenType()); IToken defaultToken = newToken(colorName); scanner.setDefaultReturnToken(defaultToken); ColoringEditorTools.add( rule, rules, new ITokenFactory() { public IToken makeToken(Type type) { String color = colorManager.colorForType(type.getColor()); return newToken(color); } }); addTextSequenceRules(rule, rules, defaultToken); scanner.setRules((IRule[]) rules.toArray(new IRule[rules.size()])); return scanner; }
private ITokenScanner getDefaultScanner() { RuleBasedScanner scanner = new RuleBasedScanner(); IRule[] rules = new IRule[14]; rules[0] = createHeader6Rule(); rules[1] = createHeader5Rule(); rules[2] = createHeader4Rule(); rules[3] = createHeader3Rule(); rules[4] = createHeader2Rule(); rules[5] = createHeader1Rule(); rules[6] = createHRRule(); rules[7] = createMacroRule(); rules[8] = createExternalHTTPRule(); rules[9] = createListRule(); rules[10] = createNumberedListRule(); rules[11] = createBoldItalicRule(); rules[12] = createBoldRule(); rules[13] = createItalicRule(); scanner.setRules(rules); return scanner; }