3ef95428a3dff7388c92a5d79d209a5d3767bb12
[phpeclipse.git] / net.sourceforge.phpeclipse.ui / src / net / sourceforge / phpeclipse / xml / ui / internal / text / TextScanner.java
1 /*
2  * Copyright (c) 2002-2004 Widespace, OU and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v10.html
7  *
8  * Contributors:
9  *     Igor Malinin - initial contribution
10  *
11  * $Id: TextScanner.java,v 1.3 2006-10-21 23:14:13 pombredanne Exp $
12  */
13
14 package net.sourceforge.phpeclipse.xml.ui.internal.text;
15
16 import java.util.Map;
17
18 import net.sourceforge.phpeclipse.xml.ui.text.IXMLSyntaxConstants;
19
20 import org.eclipse.jface.text.rules.BufferedRuleBasedScanner;
21 import org.eclipse.jface.text.rules.IRule;
22 import org.eclipse.jface.text.rules.IToken;
23 import org.eclipse.jface.text.rules.Token;
24
25 /**
26  * @author Igor Malinin
27  */
28 public class TextScanner extends BufferedRuleBasedScanner {
29
30         /**
31          * Creates a color scanner for XML text or attribute value.
32          */
33         public TextScanner(Map tokens, char startEntity, String defaultProperty) {
34                 setDefaultReturnToken((Token) tokens.get(defaultProperty));
35
36                 IToken entity = (Token) tokens.get(IXMLSyntaxConstants.XML_ENTITY);
37
38                 IRule[] rules = { new EntityRule(startEntity, entity) };
39
40                 setRules(rules);
41         }
42 }