source: java/FramclipsePlugin/src/main/java/com/framsticks/framclipse/editors/configuration/FramscriptPartitionScanner.java @ 193

Last change on this file since 193 was 193, checked in by Maciej Komosinski, 10 years ago

Set svn:eol-style native for all textual files

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain
File size: 1.5 KB
Line 
1package com.framsticks.framclipse.editors.configuration;
2
3import java.util.ArrayList;
4import java.util.List;
5
6import org.eclipse.jface.text.rules.EndOfLineRule;
7import org.eclipse.jface.text.rules.IPredicateRule;
8import org.eclipse.jface.text.rules.IToken;
9import org.eclipse.jface.text.rules.MultiLineRule;
10import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;
11import org.eclipse.jface.text.rules.Token;
12
13public class FramscriptPartitionScanner extends RuleBasedPartitionScanner {
14        public final static String CODE = "__framscript_code";
15        public final static String DESCRIPTION = "__framscript_description";
16        public final static String UNDEFINED = "__framscript_undefined";
17       
18        public final static String COMMENT = "__framscript_comment";
19
20        public final static String[] PARTITION_TYPES = new String[] { CODE, DESCRIPTION, UNDEFINED, COMMENT};
21
22        public FramscriptPartitionScanner(String codeFileName) {
23                IToken code = new Token(CODE);
24                IToken description = new Token(DESCRIPTION);
25                IToken comment = new Token(COMMENT);
26
27                List<IPredicateRule> rules = new ArrayList<IPredicateRule>();
28                rules.add(new MultiLineRule(codeFileName + ":~", "~", code, '\\', false));
29                rules.add(new MultiLineRule(":~", "~", description, '\\', false));
30                rules.add(new EndOfLineRule(":", new Token(UNDEFINED)));
31                rules.add(new EndOfLineRule("#", comment));
32
33                IPredicateRule[] result = new IPredicateRule[rules.size()];
34                result = rules.toArray(result);
35                setPredicateRules(result);
36                setDefaultReturnToken(new Token(UNDEFINED));
37        }
38}
Note: See TracBrowser for help on using the repository browser.