下面列出了org.eclipse.jface.text.rules.SingleLineRule#org.eclipse.jface.text.rules.IRule 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public XMLTextScanner( ColorManager colorManager) {
ESCAPED_CHAR = new Token(new TextAttribute(colorManager.getColor(IXMLColorConstants.ESCAPED_CHAR)));
CDATA_START = new Token(new TextAttribute(colorManager.getColor(IXMLColorConstants.CDATA)));
CDATA_END = new Token(new TextAttribute(colorManager.getColor(IXMLColorConstants.CDATA)));
CDATA_TEXT = new Token(new TextAttribute(colorManager.getColor(IXMLColorConstants.CDATA_TEXT)));
IRule[] rules = new IRule[2];
// Add rule to pick up escaped chars
// Add rule to pick up start of CDATA section
rules[0] = new CDataRule(CDATA_START, true);
// Add a rule to pick up end of CDATA sections
rules[1] = new CDataRule(CDATA_END, false);
setRules(rules);
}
/**
* A default constructor.
* @param manager
*/
public TexArgScanner(ColorManager manager) {
IToken commentToken = new Token(new TextAttribute(manager
.getColor(ColorManager.COMMENT),
null,
manager.getStyle(ColorManager.COMMENT_STYLE)));
//Commands are colored in argument color with command styles
IToken commandToken = new Token(
new TextAttribute(
manager.getColor(ColorManager.CURLY_BRACKETS),
null,
manager.getStyle(ColorManager.COMMAND_STYLE)));
List<IRule> rules = new ArrayList<IRule>();
rules.add(new EndOfLineRule("%", commentToken, '\\'));
rules.add(new WhitespaceRule(new WhitespaceDetector()));
rules.add(new WordRule(new TexWord(), commandToken));
IRule[] result = new IRule[rules.size()];
rules.toArray(result);
setRules(result);
}
/**
* A default constructor.
* @param manager
*/
public TexOptArgScanner(ColorManager manager) {
IToken commentToken = new Token(new TextAttribute(manager
.getColor(ColorManager.COMMENT),
null,
manager.getStyle(ColorManager.COMMENT_STYLE)));
//Commands are colored in argument color with command styles
IToken commandToken = new Token(
new TextAttribute(
manager.getColor(ColorManager.SQUARE_BRACKETS),
null,
manager.getStyle(ColorManager.COMMAND_STYLE)));
List<IRule> rules = new ArrayList<IRule>();
rules.add(new EndOfLineRule("%", commentToken, '\\'));
rules.add(new WhitespaceRule(new WhitespaceDetector()));
rules.add(new WordRule(new TexWord(), commandToken));
IRule[] result = new IRule[rules.size()];
rules.toArray(result);
setRules(result);
}
@Override
protected List<IRule> createRules() {
List<IRule> rules = new ArrayList<IRule>();
Token tagBorder = getToken(IJSXColorConstants.TAG_BORDER);
Token tagName = getToken(IJSXColorConstants.TAG_NAME);
Token tagAttributeName = getToken(IJSXColorConstants.TAG_ATTRIBUTE_NAME);
Token tagAttributeEquals = getToken(IJSXColorConstants.TAG_ATTRIBUTE_EQUALS);
Token tagAttributeValue = getToken(IJSXColorConstants.TAG_ATTRIBUTE_VALUE);
rules.add(new SingleLineRule("\"", "\"", tagAttributeValue, '\\'));
rules.add(new SingleLineRule("'", "'", tagAttributeValue, '\\'));
rules.add(new SingleLineRule("{", "}", tagAttributeValue, '\\'));
rules.add(new JSXTagRule(tagName, tagBorder));
rules.add(new WordRule(new NameDetector(), tagAttributeName));
// setDefaultReturnToken(token);
return rules;
}
public IToken nextToken() {
IToken token;
tokenOffset = offset;
column = UNDEFINED;
Iterator<?> ruleIterator = rules.iterator();
while(ruleIterator.hasNext()) {
IRule rule = (IRule)ruleIterator.next();
token = rule.evaluate(this);
if(!token.isUndefined()) {
return token;
}
if(ruleIterator.hasNext()) {
offset = tokenOffset;
}
}
if(rules.size() <= 0) {
read();
}
if (read() == EOF) {
return Token.EOF;
} else {
unread();
return defaultToken;
}
}
/**
* Create a new javadoc scanner for the given color provider.
*/
public JSDocScanner()
{
super();
List<IRule> list = new ArrayList<IRule>();
// Add rule for tags.
list.add(new SingleLineRule("<", ">", getToken("text.html.basic"))); //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-1$
// Add rule for links.
list.add(new SingleLineRule("{", "}", getToken("markup.underline.link"))); //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-1$
// Add word rule for keywords.
IToken keyword = getToken("meta.tag.documentation.js"); //$NON-NLS-1$
WordRule wordRule = new WordRule(new JSDocWordDetector());
for (String word : KEYWORDS)
{
wordRule.addWord(word, keyword);
}
list.add(wordRule);
setDefaultReturnToken(getToken("comment.block.documentation.js")); //$NON-NLS-1$
setRules(list.toArray(new IRule[list.size()]));
}
/**
* createScannerSpecificRules
*
* @return
*/
protected Collection<? extends IRule> createScannerSpecificRules()
{
List<IRule> rules = new ArrayList<IRule>();
WordRule wordRule = new WordRule(new KeywordIdentifierDetector(), Token.UNDEFINED);
wordRule.addWord("em", createToken(CSSTokenType.EMS));
wordRule.addWord("ex", createToken(CSSTokenType.EXS));
wordRule.addWord("px", createToken(CSSTokenType.LENGTH));
wordRule.addWord("cm", createToken(CSSTokenType.LENGTH));
wordRule.addWord("mm", createToken(CSSTokenType.LENGTH));
wordRule.addWord("in", createToken(CSSTokenType.LENGTH));
wordRule.addWord("pt", createToken(CSSTokenType.LENGTH));
wordRule.addWord("pc", createToken(CSSTokenType.LENGTH));
wordRule.addWord("deg", createToken(CSSTokenType.ANGLE));
wordRule.addWord("rad", createToken(CSSTokenType.ANGLE));
wordRule.addWord("grad", createToken(CSSTokenType.ANGLE));
wordRule.addWord("ms", createToken(CSSTokenType.TIME));
wordRule.addWord("s", createToken(CSSTokenType.TIME));
wordRule.addWord("hz", createToken(CSSTokenType.FREQUENCY));
wordRule.addWord("khz", createToken(CSSTokenType.FREQUENCY));
wordRule.addWord("Hz", createToken(CSSTokenType.FREQUENCY));
wordRule.addWord("kHz", createToken(CSSTokenType.FREQUENCY));
addWordsToRule(wordRule, FUNCTIONS, CSSTokenType.FUNCTION);
rules.add(wordRule);
return rules;
}
/**
* createUnitRules
*
* @return
*/
protected List<IRule> createUnitRules()
{
List<IRule> rules = new ArrayList<IRule>();
// FIXME These are all really just numbers followed by measurements. Can't we modify scanner/parser to grab
// number and then a measurement
// XXX: The number and the units have to be connected without intermediate whitespace. Alternately, we could
// make the parser changes as suggested but we would need to make sure the validators point out the error
// condition
rules.add(createUnitRule("em", CSSTokenType.EMS));
rules.add(createUnitRule("px|cm|mm|in|pt|pc", CSSTokenType.LENGTH));
rules.add(createUnitRule("%", CSSTokenType.PERCENTAGE));
rules.add(createUnitRule("deg|rad|grad", CSSTokenType.ANGLE));
rules.add(createUnitRule("ex", CSSTokenType.EXS));
rules.add(createUnitRule("k?[Hh]z", CSSTokenType.FREQUENCY));
rules.add(createUnitRule("m?s", CSSTokenType.TIME));
return rules;
}
@Override
protected List<IRule> createRules() {
setDefaultReturnToken(getToken(PreferenceConstants.PROPERTIES_FILE_COLORING_VALUE));
List<IRule> rules= new ArrayList<IRule>();
// Add rule for arguments.
IToken token= getToken(PreferenceConstants.PROPERTIES_FILE_COLORING_ARGUMENT);
rules.add(new ArgumentRule(token));
// Add word rule for assignment operator.
token= getToken(PreferenceConstants.PROPERTIES_FILE_COLORING_ASSIGNMENT);
WordRule wordRule= new WordRule(new AssignmentDetector(), token);
rules.add(wordRule);
// Add generic whitespace rule.
rules.add(new WhitespaceRule(new JavaWhitespaceDetector()));
return rules;
}
@Override
protected List<IRule> createRules() {
List<IRule> list= new ArrayList<IRule>();
Token defaultToken= getToken(fDefaultTokenProperty);
List<WordMatcher> matchers= createMatchers();
if (matchers.size() > 0) {
CombinedWordRule combinedWordRule= new CombinedWordRule(new AtJavaIdentifierDetector(), defaultToken);
for (int i= 0, n= matchers.size(); i < n; i++)
combinedWordRule.addWordMatcher(matchers.get(i));
list.add(combinedWordRule);
}
setDefaultReturnToken(defaultToken);
return list;
}
/**
*
*/
public SQLKeywordScanner( )
{
super( );
IToken sqlKeywordsToken = new Token( new TextAttribute( ColorManager.getColor(127, 0, 85), null, SWT.BOLD ) );
ArrayList rules = new ArrayList( );
rules.add( new SQLKeywordRule( sqlKeywordsToken, reservedwords ) );
rules.add( new SQLKeywordRule( sqlKeywordsToken, types ) );
rules.add( new SQLKeywordRule( sqlKeywordsToken, constants ) );
rules.add( new SQLKeywordRule( sqlKeywordsToken, functions ) );
rules.add( new SQLKeywordRule( sqlKeywordsToken, predicates ) );
// Add generic whitespace rule.
rules.add( new WhitespaceRule( new IWhitespaceDetector( ) {
public boolean isWhitespace( char c )
{
return Character.isWhitespace( c );
}
} ) );
setRules( (IRule[]) rules.toArray( new IRule[rules.size( )] ) );
this.setDefaultReturnToken( new Token( new TextAttribute( Display.getDefault( ).getSystemColor( SWT.COLOR_LIST_FOREGROUND ))));
}
/**
* Creates a new JSScanner object.
*
*/
public JSScanner( )
{
List rules = new ArrayList( );
// Add generic whitespace rule.
rules.add( new WhitespaceRule( new IWhitespaceDetector( ) {
public boolean isWhitespace( char c )
{
return Character.isWhitespace( c );
}
} ) );
IRule[] result = new IRule[rules.size( )];
rules.toArray( result );
setRules( result );
}
public HDefaultScanner() {
// IToken procInstr = new Token(new TextAttribute(manager.getColor(IXMLColorConstants.PROC_INSTR)));
// IRule[] rules = new IRule[2];
// // Add rule for processing instructions
// rules[0] = new SingleLineRule("<?", "?>", procInstr);
// // Add generic whitespace rule.
// rules[1] = new WhitespaceRule(new WhitespaceDetector());
// setRules(rules);
// WordRule keywordRule = new WordRuleInsensitive(new IWordDetector() {
// public boolean isWordStart( char c){
// return Character.isJavaIdentifierStart(Character.toLowerCase(c));
// }
// public boolean isWordPart( char c){
// return Character.isJavaIdentifierPart(Character.toLowerCase(c)) || c == '-';
// }
// });
// IToken tokKeyword = new Token(new TextAttribute(ResourceUtils.getColor(Styles.PROC_INSTR), null, SWT.BOLD));
//// IToken tokComment = new Token(new TextAttribute(manager.getColor(IXMLColorConstants.XML_COMMENT)));
//// IToken tokString = new Token(new TextAttribute(manager.getColor(IXMLColorConstants.STRING)));
//// IToken tokSchema = new Token(new TextAttribute(manager.getColor(IXMLColorConstants.PROC_INSTR)));
//
// String[] KEYWORDS = new String[] { "Contenttype", "User-agent", "a-a" , "Cc" };
// // add tokens for each reserved word
// for (int n = 0; n < KEYWORDS.length; n++) {
// keywordRule.addWord(KEYWORDS[n].toUpperCase(), tokKeyword);
// }
setRules( new IRule[] {
// keywordRule,
// new SingleLineRule("<?", "?>", tokSchema),
// new MultiLineRule("[", "]", tokComment, '\\'),
// new SingleLineRule("'", "'", tokString, '\\'),
// new WhitespaceRule(new WhitespaceDetector())
});
}
public HCommentScanner() {
// IToken comment = new Token(HPartitionScanner.COMMENT);
setRules(new IRule[] {
// new SingleLineRule("#", null, comment, '\\', true, true),
// new WhitespaceRule(new WhitespaceDetector())
});
}
public HValueScanner() {
// IToken string = new Token(new TextAttribute(ResourceUtils.getColor(Styles.PROC_INSTR)));
setRules(new IRule[] {
// new SingleLineRule("\"", "\"", string, '\\'),
// new SingleLineRule("'", "'", string, '\\'),
// new SingleLineRule("<", "/>", string, '\\'),
// new WhitespaceRule(new WhitespaceDetector())
});
}
public XMLScanner( ColorManager manager) {
IToken procInstr = new Token(new TextAttribute(manager.getColor(IXMLColorConstants.PROC_INSTR)));
IToken docType = new Token(new TextAttribute(manager.getColor(IXMLColorConstants.DOCTYPE)));
IRule[] rules = new IRule[3];
// Add rule for processing instructions and doctype
rules[0] = new MultiLineRule("<?", "?>", procInstr);
rules[1] = new MultiLineRule("<!DOCTYPE", ">", docType);
// Add generic whitespace rule.
rules[2] = new WhitespaceRule(new XMLWhitespaceDetector());
setRules(rules);
}
public XMLTagScanner( ColorManager manager) {
IToken string = new Token(new TextAttribute(manager.getColor(IXMLColorConstants.STRING)));
IRule[] rules = new IRule[3];
// Add rule for double quotes
rules[0] = new SingleLineRule("\"", "\"", string, '\\');
// Add a rule for single quotes
rules[1] = new SingleLineRule("'", "'", string, '\\');
// Add generic whitespace rule.
rules[2] = new WhitespaceRule(new XMLWhitespaceDetector());
setRules(rules);
}
/**
* Creates a BibTeX document scanner
*
* @param provider The color provider for syntax highlighting
*/
public BibCodeScanner(BibColorProvider provider) {
IToken keyword = new Token(new TextAttribute(provider
.getColor(BibColorProvider.KEYWORD)));
IToken comment = new Token(new TextAttribute(provider
.getColor(BibColorProvider.SINGLE_LINE_COMMENT)));
IToken other = new Token(new TextAttribute(provider
.getColor(BibColorProvider.DEFAULT)));
List rules = new ArrayList();
// Add rule for single line comments.
rules.add(new EndOfLineRule("%", comment));
rules.add(new BibCommandRule(keyword));
// Add generic whitespace rule.
rules.add(new WhitespaceRule(new WhitespaceDetector()));
// Add word rule for keywords, types, and constants.
WordRule wordRule = new WordRule(new BibWordDetector(), other);
rules.add(wordRule);
IRule[] result = new IRule[rules.size()];
rules.toArray(result);
setRules(result);
}
/**
* A default constructor.
* @param manager
*/
public TexCommentScanner(ColorManager manager) {
List<IRule> rules = new ArrayList<IRule>();
rules.add(new WhitespaceRule(new WhitespaceDetector()));
IRule[] result = new IRule[rules.size()];
rules.toArray(result);
setRules(result);
}
/**
* A default constructor.
* @param manager
*/
public TexScanner(ColorManager manager) {
// A token that defines how to color numbers
IToken numberToken = new Token(new TextAttribute(manager
.getColor(ColorManager.TEX_NUMBER),
null,
manager.getStyle(ColorManager.TEX_NUMBER_STYLE)));
// A token that defines how to color command words (\command_word)
IToken commandToken = new Token(new TextAttribute(manager
.getColor(ColorManager.COMMAND),
null,
manager.getStyle(ColorManager.COMMAND_STYLE)));
IToken commentToken = new Token(new TextAttribute(manager
.getColor(ColorManager.COMMENT),
null,
manager.getStyle(ColorManager.COMMENT_STYLE)));
// A token that defines how to color special characters (\_, \&, \~ ...)
IToken specialCharToken = new Token(new TextAttribute(manager
.getColor(ColorManager.TEX_SPECIAL),
null,
manager.getStyle(ColorManager.TEX_SPECIAL_STYLE)));
List<IRule> rules = new ArrayList<IRule>();
rules.add(new TexSpecialCharRule(specialCharToken));
rules.add(new WordRule(new TexWord(), commandToken));
rules.add(new NumberRule(numberToken));
rules.add(new EndOfLineRule("%", commentToken, '\\'));
rules.add(new WhitespaceRule(new WhitespaceDetector()));
IRule[] result = new IRule[rules.size()];
rules.toArray(result);
setRules(result);
}
public InstructionsRuleScanner(ColorProvider provider) {
IToken stringToken = new Token(new TextAttribute(provider.getColor(PreferenceConverter.getColor(store, PreferenceConstants.P_STRING_COLOR))));
IToken commentToken = new Token(new TextAttribute(provider.getColor(PreferenceConverter.getColor(store, PreferenceConstants.P_COMMENT_COLOR))));
IToken instructToken = new Token(new TextAttribute(provider.getColor(PreferenceConverter.getColor(store, PreferenceConstants.P_INSTRUCT_COLOR)), null, Font.ITALIC));
IToken definitionsToken = new Token(new TextAttribute(provider.getColor(PreferenceConverter.getColor(store, PreferenceConstants.P_DEF_COLOR)), null, Font.ITALIC));
List<IRule> rules = Lists.newArrayList();
// rule for Strings - may spanning multiple lines
rules.add(new MultiLineRule("\"", "\"", stringToken));
rules.add(new MultiLineRule("\'", "\'", stringToken));
rules.add(new EndOfLineRule("#%", instructToken));
// rule for comments - ended by a line delimiter
rules.add(new EndOfLineRule("//", commentToken));
WordRule wordRule = RuleFactory.buildRule(ImpexRules.KEYWORD, null);
// rule for instructions
for (String word : Formatter.INSTRUCTION_CLASS_PROPOSALS) {
wordRule.addWord(word, instructToken);
}
rules.add(wordRule);
// rule for definitions
wordRule = RuleFactory.buildRule(ImpexRules.VARIABLE, definitionsToken);
rules.add(wordRule);
IRule[] ruleArray = new IRule[rules.size()];
setRules(rules.toArray(ruleArray));
}
/**
* Construct the rules
*/
public TLACodeScanner()
{
TLAColorProvider provider = TLAEditorActivator.getDefault().getTLAColorProvider();
IToken keyword = new Token(new TextAttribute(provider.getColor(TLAColorProvider.TLA_KEYWORD_KEY), null, SWT.BOLD));
IToken value = new Token(new TextAttribute(provider.getColor(TLAColorProvider.TLA_VALUE_KEY)));
IToken other = new Token(new TextAttribute(provider.getColor(TLAColorProvider.DEFAULT_TEXT_KEY)));
List rules = new ArrayList();
// Add generic whitespace rule.
// rules.add(new WhitespaceRule(DocumentHelper.getDefaultWhitespaceDetector()));
// Add word rule for standard words
WordRule wordRule = new WordRule(DocumentHelper.getDefaultWordDetector(), other);
// add values
for (int i = 0; i < ITLAReserveredWords.ALL_VALUES_ARRAY.length; i++)
{
wordRule.addWord(ITLAReserveredWords.ALL_VALUES_ARRAY[i], value);
}
// add reserved words
for (int i = 0; i < ITLAReserveredWords.ALL_WORDS_ARRAY.length; i++)
{
wordRule.addWord(ITLAReserveredWords.ALL_WORDS_ARRAY[i], keyword);
}
rules.add(wordRule);
IRule[] result = new IRule[rules.size()];
rules.toArray(result);
setRules(result);
}
public XMLScanner()
{
IRule[] rules = new IRule[4];
rules[0] = new WhitespaceRule(new WhitespaceDetector());
rules[1] = new EntityRule(createToken(CONSTANT_CHARACTER_ENTITY_XML));
// non-entity ampersands should be marked as invalid
rules[2] = new SingleCharacterRule('&', createToken(INVALID_ILLEGAL_BAD_AMPERSAND_XML));
rules[3] = new WordRule(new WordDetector(), createToken(TEXT));
setRules(rules);
setDefaultReturnToken(createToken(TEXT));
}
public XMLTagScanner()
{
List<IRule> rules = new ArrayList<IRule>();
// Add rule for double quotes
rules.add(new MultiLineRule("\"", "\"", doubleQuotedStringToken, '\\')); //$NON-NLS-1$ //$NON-NLS-2$
rules.add(new BreakingMultiLineRule("\"", "\"", QUOTED_STRING_BREAKS, doubleQuotedStringToken, '\\')); //$NON-NLS-1$ //$NON-NLS-2$
// Add a rule for single quotes
rules.add(new MultiLineRule("'", "'", singleQuotedStringToken, '\\')); //$NON-NLS-1$ //$NON-NLS-2$
rules.add(new BreakingMultiLineRule("'", "'", QUOTED_STRING_BREAKS, singleQuotedStringToken, '\\')); //$NON-NLS-1$ //$NON-NLS-2$
// Add generic whitespace rule.
rules.add(new WhitespaceRule(new WhitespaceDetector()));
// Tags
WordRule tagWordRule = new TagWordRule(new TagNameWordDetector(), createToken(XMLTokenType.TAG_NAME), true);
rules.add(tagWordRule);
// Attributes
WordRule attributeWordRule = new WordRule(new AttributeNameWordDetector(), createToken(XMLTokenType.ATTRIBUTE),
true);
rules.add(attributeWordRule);
rules.add(new MultiCharacterRule("</", createToken(XMLTokenType.START_TAG))); //$NON-NLS-1$
rules.add(new MultiCharacterRule("/>", createToken(XMLTokenType.TAG_SELF_CLOSE))); //$NON-NLS-1$
CharacterMapRule charsRule = new CharacterMapRule();
charsRule.add('<', createToken(XMLTokenType.START_TAG));
charsRule.add('>', createToken(XMLTokenType.END_TAG));
charsRule.add('=', equalToken);
rules.add(charsRule);
setRules(rules.toArray(new IRule[rules.size()]));
setDefaultReturnToken(createToken(XMLTokenType.TEXT));
}
/**
* XMLAttributeScanner
*/
XMLAttributeScanner()
{
List<IRule> rules = new ArrayList<IRule>();
rules.add(new WhitespaceRule(new WhitespaceDetector()));
// attribute values
rules.add(new MultiLineRule("\"", "\"", createToken(XMLTokenType.VALUE), '\\')); //$NON-NLS-1$ //$NON-NLS-2$
rules.add(new MultiLineRule("'", "'", createToken(XMLTokenType.VALUE), '\\')); //$NON-NLS-1$ //$NON-NLS-2$
// attribute names
rules.add(new XMLAttributeRule(createToken(XMLTokenType.ATTRIBUTE)));
// tag name
rules.add(new WordRule(new DTDNameDetector(), createToken(XMLTokenType.OTHER), true));
// special characters
CharacterMapRule characterRule = new CharacterMapRule();
characterRule.add('<', createToken(XMLTokenType.OTHER));
characterRule.add('>', createToken(XMLTokenType.OTHER));
characterRule.add('=', createToken(XMLTokenType.OTHER));
rules.add(characterRule);
setRules(rules.toArray(new IRule[rules.size()]));
setDefaultReturnToken(createToken(XMLTokenType.OTHER));
}
/**
* JSEscapeSequenceScanner
*/
public JSEscapeSequenceScanner(String defaultScope)
{
IRule[] rules = new IRule[] { new JSEscapeSequenceRule(getToken("constant.character.escape.js")) }; //$NON-NLS-1$
setRules(rules);
setDefaultReturnToken(getToken(defaultScope));
}
/**
*
*/
public DTDSourceScanner() {
super();
List<IRule> rules = new ArrayList<IRule>();
// Already handled by partitioning, but we need this for the parser
rules.add(new MultiLineRule("<!--", "-->", createToken(DTDTokenType.COMMENT), '\0', true)); //$NON-NLS-1$ //$NON-NLS-2$
// TODO: This should require Name directly after the opening <? and it
// should reject <?xml
rules.add(new MultiLineRule("<?", "?>", createToken(DTDTokenType.PI), '\0', true)); //$NON-NLS-1$ //$NON-NLS-2$
rules.addAll(Arrays.asList(fRules));
setRules(rules.toArray(new IRule[rules.size()]));
}
/**
* CodeScanner
*/
public CSSCodeScannerRuleBased()
{
List<IRule> rules = createRules();
setRules(rules.toArray(new IRule[rules.size()]));
}
/**
* CSSTokenScanner
*/
public CSSTokenScanner()
{
List<IRule> rules = createRules();
setRules(rules.toArray(new IRule[rules.size()]));
}
/**
* createStringRules
*
* @return
*/
private List<IRule> createStringRules()
{
List<IRule> rules = new ArrayList<IRule>();
rules.add(new SingleLineRule("\"", "\"", createToken(CSSTokenType.DOUBLE_QUOTED_STRING), '\\'));
rules.add(new SingleLineRule("\'", "\'", createToken(CSSTokenType.SINGLE_QUOTED_STRING), '\\'));
return rules;
}