f0ef3d1945fc9ef29b01ac86a600489f06e55392
[phpeclipse.git] / net.sourceforge.phpeclipse.ui / src / net / sourceforge / phpeclipse / xml / ui / internal / text / XMLTagScanner.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: XMLTagScanner.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 import org.eclipse.jface.text.rules.WordRule;
25
26 /**
27  * @author Igor Malinin
28  */
29 public class XMLTagScanner extends BufferedRuleBasedScanner {
30
31         /**
32          * Creates a color token scanner.
33          */
34         public XMLTagScanner(Map tokens) {
35                 setDefaultReturnToken((Token) tokens
36                                 .get(IXMLSyntaxConstants.XML_DEFAULT));
37
38                 IToken tag = (Token) tokens.get(IXMLSyntaxConstants.XML_TAG);
39                 IToken attribute = (Token) tokens.get(IXMLSyntaxConstants.XML_ATT_NAME);
40
41                 IRule[] rules = { new XMLTagRule(tag),
42                                 new WordRule(new NameDetector(), attribute), };
43
44                 setRules(rules);
45         }
46 }