package org.eclipse.iee.editor.core.container.partitioning;
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;
/**
* Scanner searches for embedded partitions in document.
*/
public class PartitioningScanner extends RuleBasedPartitionScanner {
/** Token which represents the embedded partition. */
public static final IToken EMBEDDED_TOKEN = new Token(PartitioningManager.CONTENT_TYPE_EMBEDDED);
/** Token which represents the plain text partition. */
public static final IToken PLAINTEXT_TOKEN = new Token(PartitioningManager.CONENT_TYPE_PLAINTEXT);
/** Creates a new embedded partition scanner. */
public PartitioningScanner(String partitionBeginToken, String partitionEndToken) {
IPredicateRule[] rules = new IPredicateRule[1];
rules[0] = new MultiLineRule(
partitionBeginToken,
partitionEndToken,
EMBEDDED_TOKEN, '\\', false);
setPredicateRules(rules);
setDefaultReturnToken(PLAINTEXT_TOKEN);
}
}