]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor2/SCLPartitionScanner.java
Merged changes from feature/scl to master.
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / editor2 / SCLPartitionScanner.java
1 package org.simantics.scl.ui.editor2;\r
2 \r
3 import org.eclipse.jface.text.rules.EndOfLineRule;\r
4 import org.eclipse.jface.text.rules.IPredicateRule;\r
5 import org.eclipse.jface.text.rules.IToken;\r
6 import org.eclipse.jface.text.rules.MultiLineRule;\r
7 import org.eclipse.jface.text.rules.RuleBasedPartitionScanner;\r
8 import org.eclipse.jface.text.rules.SingleLineRule;\r
9 import org.eclipse.jface.text.rules.Token;\r
10 \r
11 public class SCLPartitionScanner extends RuleBasedPartitionScanner {\r
12     public static final String SCL_COMMENT = "COMMENT";\r
13     public static final String SCL_STRING = "STRING";\r
14     \r
15     public static final IToken COMMENT_TOKEN = new Token(SCL_COMMENT);\r
16     public static final IToken STRING_TOKEN = new Token(SCL_STRING);\r
17     \r
18     public static final String[] PARTITION_TYPES = new String[] {\r
19             SCL_COMMENT,\r
20             SCL_STRING\r
21     };\r
22     \r
23     public SCLPartitionScanner() {\r
24         super();\r
25 \r
26         setPredicateRules(new IPredicateRule[] {\r
27                 new EndOfLineRule("//", COMMENT_TOKEN),\r
28                 new MultiLineRule("\"\"\"", "\"\"\"", STRING_TOKEN, (char) 0, true),\r
29                 new SingleLineRule("\"", "\"", STRING_TOKEN, '\\'),\r
30                 new MultiLineRule("/*", "*/", COMMENT_TOKEN, (char) 0, true),\r
31         });\r
32     }\r
33 }\r