KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > freemarker > eclipse > editors > DirectiveScanner


1 package freemarker.eclipse.editors;
2
3 import java.util.Vector JavaDoc;
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 /**
13  * @version $Id: DirectiveScanner.java,v 1.6 2004/02/05 00:16:23 stephanmueller Exp $
14  * @author <a HREF="mailto:stephan@chaquotay.net">Stephan Mueller</a>
15  */

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 JavaDoc rules = new Vector JavaDoc();
25
26         
27     // Add rule for double quotes
28
rules.add(new SingleLineRule("\"", "\"", string,'\\'));
29     // Add rule for single quotes
30
rules.add(new SingleLineRule("'", "'", string,'\\'));
31     // Add rule for comments
32
rules.add(new SingleLineRule("<#--", "-->", comment));
33
34     // Add generic whitespace rule.
35
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