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