X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCodeScanner.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCodeScanner.java index 8a50ffd..9ad50d5 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCodeScanner.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/phpeditor/php/PHPCodeScanner.java @@ -22,8 +22,6 @@ import net.sourceforge.phpeclipse.phpeditor.util.PHPWhitespaceDetector; import net.sourceforge.phpeclipse.phpeditor.util.PHPWordDetector; import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.rules.EndOfLineRule; import org.eclipse.jface.text.rules.ICharacterScanner; import org.eclipse.jface.text.rules.IRule; import org.eclipse.jface.text.rules.IToken; @@ -37,7 +35,7 @@ import org.eclipse.jface.text.rules.WordRule; * PHP Code Scanner */ public class PHPCodeScanner extends AbstractJavaScanner { - + /** * Rule to detect java operators. * @@ -161,42 +159,7 @@ public class PHPCodeScanner extends AbstractJavaScanner { } } - protected class SingleQuoteStringRule implements IRule { - - /** Token to return for this rule */ - private final IToken fToken; - - public SingleQuoteStringRule(IToken token) { - fToken = token; - - } - - /* - * @see org.eclipse.jface.text.rules.IRule#evaluate(org.eclipse.jface.text.rules.ICharacterScanner) - */ - public IToken evaluate(ICharacterScanner scanner) { - - int character = scanner.read(); - if (character=='\'') { - - while (true) { - character = scanner.read(); - if (character == '\\') { - character = scanner.read(); - } else if (character == '\'') { - return fToken; - } - } - - } else { - scanner.unread(); - return Token.UNDEFINED; - } - } - - } - protected class AccentStringRule implements IRule { /** Token to return for this rule */ @@ -214,53 +177,18 @@ public class PHPCodeScanner extends AbstractJavaScanner { int character = scanner.read(); - if (character=='`') { - - while (true) { + if (character == '`') { + + while (character != ICharacterScanner.EOF) { character = scanner.read(); if (character == '\\') { character = scanner.read(); } else if (character == '`') { return fToken; } - } - - } else { + } scanner.unread(); return Token.UNDEFINED; - } - } - - } - - protected class DoubleQuoteStringRule implements IRule { - - /** Token to return for this rule */ - private final IToken fToken; - - public DoubleQuoteStringRule(IToken token) { - fToken = token; - - } - - /* - * @see org.eclipse.jface.text.rules.IRule#evaluate(org.eclipse.jface.text.rules.ICharacterScanner) - */ - public IToken evaluate(ICharacterScanner scanner) { - - int character = scanner.read(); - - if (character=='"') { - - while (true) { - character = scanner.read(); - if (character == '\\') { - character = scanner.read(); - } else if (character == '"') { - return fToken; - } - } - } else { scanner.unread(); return Token.UNDEFINED; @@ -268,7 +196,7 @@ public class PHPCodeScanner extends AbstractJavaScanner { } } - + private class PHPWordRule extends WordRule { private StringBuffer fBuffer = new StringBuffer(); @@ -283,6 +211,7 @@ public class PHPCodeScanner extends AbstractJavaScanner { public IToken evaluate(ICharacterScanner scanner) { int c = scanner.read(); boolean isVariable = false; + boolean isUnderscore = false; if (c == '<') { c = scanner.read(); if (c != '?') { @@ -291,7 +220,7 @@ public class PHPCodeScanner extends AbstractJavaScanner { return Token.UNDEFINED; } else { c = scanner.read(); - if (c == '=') { //