1 package freemarker.eclipse.editors; 2 3 import java.util.Vector ; 4 5 import org.eclipse.jface.text.rules.IRule; 6 import org.eclipse.jface.text.rules.IToken; 7 import org.eclipse.jface.text.rules.RuleBasedScanner; 8 import org.eclipse.jface.text.rules.SingleLineRule; 9 import org.eclipse.jface.text.rules.WhitespaceRule; 10 11 12 16 public class DirectiveScanner extends RuleBasedScanner { 17 18 public DirectiveScanner(ITokenManager manager) { 19 20 IToken string = manager.getStringToken(); 21 IToken comment = manager.getCommentToken(); 22 23 24 Vector rules = new Vector (); 25 26 27 rules.add(new SingleLineRule("\"", "\"", string,'\\')); 29 rules.add(new SingleLineRule("'", "'", string,'\\')); 31 rules.add(new SingleLineRule("<#--", "-->", comment)); 33 34 rules.add(new WhitespaceRule(new WhitespaceDetector())); 36 37 IRule[] result = new IRule[rules.size()]; 38 rules.copyInto(result); 39 setRules(result); 40 } 41 public IToken nextToken() { 42 return super.nextToken(); 43 } 44 } 45 | Popular Tags |