1 /* $Id: ScriptScanner.java,v 1.1 2004/08/17 19:39:49 dougsatch Exp $ */
2 package com.something.eclipse.script.text;
3 
4 import org.eclipse.jface.text.rules.IRule;
5 import org.eclipse.jface.text.rules.IToken;
6 import org.eclipse.jface.text.rules.RuleBasedScanner;
7 import org.eclipse.jface.text.rules.WordRule;
8 
9 /**
10  * A scanner that creates rules its own rules
11  *
12  * @author Doug Satchwell
13  * @version $Id: ScriptScanner.java,v 1.1 2004/08/17 19:39:49 dougsatch Exp $
14  */
15 public abstract class ScriptScanner extends RuleBasedScanner
16 {
ScriptScanner()17 	public ScriptScanner()
18 	{
19 		super();
20 	}
21 
22 	/** Create the rules from scratch */
createRules()23 	protected abstract IRule[] createRules();
24 
25 	/** Reread the set of rules */
refresh()26 	public void refresh()
27 	{
28 		setRules(createRules());
29 	}
30 
addWords(WordRule rule,String[] words,IToken keywordToken)31 	protected static void addWords(WordRule rule,String[] words,IToken keywordToken)
32 	{
33 		for (int i = 0;i < words.length; i++)
34 			rule.addWord(words[i], keywordToken);
35 	}
36 }
37