X-Git-Url: http://secure.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 294aa1d..be00721 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,6 +22,7 @@ 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; @@ -160,6 +161,43 @@ public class PHPCodeScanner extends AbstractJavaScanner { } } + + protected class AccentStringRule implements IRule { + + /** Token to return for this rule */ + private final IToken fToken; + + public AccentStringRule(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; + } + } + + } + private class PHPWordRule extends WordRule { private StringBuffer fBuffer = new StringBuffer(); @@ -182,7 +220,7 @@ public class PHPCodeScanner extends AbstractJavaScanner { return Token.UNDEFINED; } else { c = scanner.read(); - if (c == '=') { //