1 package freemarker.eclipse.editors; 2 3 import org.eclipse.jface.text.rules.ICharacterScanner; 4 import org.eclipse.jface.text.rules.IToken; 5 import org.eclipse.jface.text.rules.MultiLineRule; 6 import org.eclipse.jface.text.rules.Token; 7 8 import freemarker.eclipse.FreemarkerPlugin; 9 import freemarker.eclipse.preferences.IPreferenceConstants; 10 11 public class XmlRule extends MultiLineRule implements IPreferenceConstants { 12 13 private boolean xmlHighlighting = true; 14 15 20 public XmlRule(IToken token) { 21 super("<", ">", token, (char) 0, false); 22 xmlHighlighting = true; 25 try { 26 xmlHighlighting = FreemarkerPlugin.getInstance().getPreferenceStore().getBoolean( 27 XML_HIGHLIGHTING); 28 } catch (NullPointerException e) {} 29 } 30 31 34 protected IToken doEvaluate(ICharacterScanner scanner) { 35 if (!xmlHighlighting) 36 return Token.UNDEFINED; 37 return super.doEvaluate(scanner); 38 } 39 40 43 protected IToken doEvaluate(ICharacterScanner scanner, boolean resume) { 44 if (!xmlHighlighting) 45 return Token.UNDEFINED; 46 return super.doEvaluate(scanner, resume); 47 } 48 49 59 protected boolean endSequenceDetected(ICharacterScanner scanner) { 60 FreemarkerTools.readXmlTagEnd(scanner); 61 return true; 62 } 63 64 } 65 | Popular Tags |