2 * Copyright winterwell Mathematics Ltd.
3 * @author Daniel Winterstein
6 package winterwell.markdown.editors;
8 import java.util.ArrayList;
10 import java.util.Arrays;
12 import org.eclipse.core.runtime.Assert;
13 import org.eclipse.jface.text.rules.ICharacterScanner;
14 import org.eclipse.jface.text.rules.IRule;
15 import org.eclipse.jface.text.rules.IToken;
16 import org.eclipse.jface.text.rules.Token;
21 * @author Daniel Winterstein
23 public class ListRule implements IRule {
24 private ArrayList<Integer> markerList;
25 protected IToken fToken;
27 public ListRule(IToken token) {
28 Assert.isNotNull(token);
34 * @see IRule#evaluate(ICharacterScanner)
37 public IToken evaluate(ICharacterScanner scanner) {
38 if (scanner.getColumn() != 0) {
39 return Token.UNDEFINED;
42 // if (scanner.read() != '-') {
44 // return Token.UNDEFINED;
46 // if (Character.isWhitespace(scanner.read())) {
51 // return Token.UNDEFINED;
55 while ((c = scanner.read()) != ICharacterScanner.EOF) {
57 if( !Character.isWhitespace( c ) ) {
58 int after = scanner.read();
61 // if ( markerList.contains(c) && Character.isWhitespace( after ) ) {
62 if ( (c == '-' || c == '+' || c == '*')
63 && Character.isWhitespace( after ) ) {
66 for (; readCount > 0; readCount--)
68 return Token.UNDEFINED;
72 // Reached ICharacterScanner.EOF
73 for (; readCount > 0; readCount--)
75 return Token.UNDEFINED;