-/**\r
- * Copyright winterwell Mathematics Ltd.\r
- * @author Daniel Winterstein\r
- * 11 Jan 2007\r
- */\r
-package winterwell.markdown.editors;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-import java.util.Arrays;\r
-\r
-import org.eclipse.core.runtime.Assert;\r
-import org.eclipse.jface.text.rules.ICharacterScanner;\r
-import org.eclipse.jface.text.rules.IRule;\r
-import org.eclipse.jface.text.rules.IToken;\r
-import org.eclipse.jface.text.rules.Token;\r
-\r
-/**\r
- * \r
- *\r
- * @author Daniel Winterstein\r
- */\r
-public class ListRule implements IRule {\r
- private ArrayList<Integer> markerList;\r
- protected IToken fToken;\r
- \r
- public ListRule(IToken token) { \r
- Assert.isNotNull(token);\r
- fToken= token;\r
- }\r
- \r
-\r
- /*\r
- * @see IRule#evaluate(ICharacterScanner)\r
- * @since 2.0\r
- */\r
- public IToken evaluate(ICharacterScanner scanner) {\r
- if (scanner.getColumn() != 0) {\r
- return Token.UNDEFINED;\r
- }\r
-// // Fast mode\r
-// if (scanner.read() != '-') {\r
-// scanner.unread();\r
-// return Token.UNDEFINED;\r
-// }\r
-// if (Character.isWhitespace(scanner.read())) {\r
-// return fToken;\r
-// }\r
-// scanner.unread();\r
-// scanner.unread();\r
-// return Token.UNDEFINED;\r
-// // Fast mode\r
- int readCount = 0;\r
- int c;\r
- while ((c = scanner.read()) != ICharacterScanner.EOF) {\r
- readCount++;\r
- if( !Character.isWhitespace( c ) ) {\r
- int after = scanner.read();\r
-// readCount++;\r
- scanner.unread();\r
-// if ( markerList.contains(c) && Character.isWhitespace( after ) ) {\r
- if ( (c == '-' || c == '+' || c == '*') \r
- && Character.isWhitespace( after ) ) {\r
- return fToken;\r
- } else {\r
- for (; readCount > 0; readCount--)\r
- scanner.unread();\r
- return Token.UNDEFINED;\r
- }\r
- }\r
- }\r
- // Reached ICharacterScanner.EOF\r
- for (; readCount > 0; readCount--)\r
- scanner.unread();\r
- return Token.UNDEFINED;\r
- }\r
-}\r
+/**
+ * Copyright winterwell Mathematics Ltd.
+ * @author Daniel Winterstein
+ * 11 Jan 2007
+ */
+package winterwell.markdown.editors;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Arrays;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.jface.text.rules.ICharacterScanner;
+import org.eclipse.jface.text.rules.IRule;
+import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.jface.text.rules.Token;
+
+/**
+ *
+ *
+ * @author Daniel Winterstein
+ */
+public class ListRule implements IRule {
+ private ArrayList<Integer> markerList;
+ protected IToken fToken;
+
+ public ListRule(IToken token) {
+ Assert.isNotNull(token);
+ fToken= token;
+ }
+
+
+ /*
+ * @see IRule#evaluate(ICharacterScanner)
+ * @since 2.0
+ */
+ public IToken evaluate(ICharacterScanner scanner) {
+ if (scanner.getColumn() != 0) {
+ return Token.UNDEFINED;
+ }
+// // Fast mode
+// if (scanner.read() != '-') {
+// scanner.unread();
+// return Token.UNDEFINED;
+// }
+// if (Character.isWhitespace(scanner.read())) {
+// return fToken;
+// }
+// scanner.unread();
+// scanner.unread();
+// return Token.UNDEFINED;
+// // Fast mode
+ int readCount = 0;
+ int c;
+ while ((c = scanner.read()) != ICharacterScanner.EOF) {
+ readCount++;
+ if( !Character.isWhitespace( c ) ) {
+ int after = scanner.read();
+// readCount++;
+ scanner.unread();
+// if ( markerList.contains(c) && Character.isWhitespace( after ) ) {
+ if ( (c == '-' || c == '+' || c == '*')
+ && Character.isWhitespace( after ) ) {
+ return fToken;
+ } else {
+ for (; readCount > 0; readCount--)
+ scanner.unread();
+ return Token.UNDEFINED;
+ }
+ }
+ }
+ // Reached ICharacterScanner.EOF
+ for (; readCount > 0; readCount--)
+ scanner.unread();
+ return Token.UNDEFINED;
+ }
+}