Skip to content
Snippets Groups Projects
ISRPartitionScanner.java 1.85 KiB
package hterhors.editor.scanners;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.jface.text.rules.IPredicateRule;
import org.eclipse.jface.text.rules.IToken;
import org.eclipse.jface.text.rules.MultiLineRule;
import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
import org.eclipse.jface.text.rules.Token;
import hterhors.editor.ISRDocumentProvider;

public class ISRPartitionScanner extends RuleBasedPartitionScanner {

	public final static String ISR_RULE = "isr_rule";
//	public final static String ISR_START = "isr_start";
	public final static String ISR_IGNORE = "isr_ignore";

	public ISRPartitionScanner() {

		IToken isr_rule = new Token(ISR_RULE);
//		IToken isr_start = new Token(ISR_START);
		IToken isr_ignore = new Token(ISR_IGNORE);

		List<IPredicateRule> rules = new ArrayList<IPredicateRule>();
//		rules.add(new MultiLineRule("$$S :", ";", isr_start));
		rules.add(new MultiLineRule("$", ";", isr_rule));
		rules.add(new MultiLineRule("%IGNORE = ", ";", isr_ignore));

		setPredicateRules(rules.toArray(new IPredicateRule[rules.size()]));
	}

	/**
	 * @uml.property  name="iSRDocumentProvider"
	 * @uml.associationEnd  inverse="iSRPartitionScanner:hterhors.editor.ISRDocumentProvider"
	 */
	private ISRDocumentProvider isrDocumentProvider = new hterhors.editor.ISRDocumentProvider();

	/**
	 * Getter of the property <tt>iSRDocumentProvider</tt>
	 * @return  Returns the isrDocumentProvider.
	 * @uml.property  name="iSRDocumentProvider"
	 */
	public ISRDocumentProvider getISRDocumentProvider() {
		return isrDocumentProvider;
	}

	/**
	 * Setter of the property <tt>iSRDocumentProvider</tt>
	 * @param iSRDocumentProvider  The isrDocumentProvider to set.
	 * @uml.property  name="iSRDocumentProvider"
	 */
	public void setISRDocumentProvider(ISRDocumentProvider isrDocumentProvider) {
		this.isrDocumentProvider = isrDocumentProvider;
	}
}