package tk.eclipse.plugin.htmleditor.editors;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.jface.text.rules.IRule;
import org.eclipse.jface.text.rules.IToken;
import org.eclipse.jface.text.rules.MultiLineRule;
import org.eclipse.jface.text.rules.SingleLineRule;
import tk.eclipse.plugin.csseditor.editors.CSSBlockScanner;
import tk.eclipse.plugin.htmleditor.ColorProvider;
import tk.eclipse.plugin.htmleditor.HTMLPlugin;
/**
* <code>RuleBasedScanner</code> for the inner CSS in the HTML.
*
* @author Naoki Takezoe
* @see 2.0.3
*/
public class InnerCSSScanner extends CSSBlockScanner {
public InnerCSSScanner(ColorProvider colorProvider) {
super(colorProvider);
}
@Override
protected List<IRule> createRules(ColorProvider colorProvider) {
IToken tag = colorProvider.getToken(HTMLPlugin.PREF_COLOR_TAG);
IToken comment = colorProvider.getToken(HTMLPlugin.PREF_COLOR_CSSCOMMENT);
List<IRule> rules = new ArrayList<IRule>();
rules.add(new SingleLineRule("<style", ">", tag));
rules.add(new SingleLineRule("</style", ">", tag));
rules.add(new MultiLineRule("/*", "*/", comment));
rules.addAll(super.createRules(colorProvider));
return rules;
}
}