Fixed syntaxhiglighting for single line comments. Example:
authoraxelcl <axelcl>
Fri, 24 Jun 2005 21:09:55 +0000 (21:09 +0000)
committeraxelcl <axelcl>
Fri, 24 Jun 2005 21:09:55 +0000 (21:09 +0000)
 <h1>This is an <?php # echo 'simple' ?> example.</h1>

net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/ui/text/FastJavaPartitionScanner.java

index 663757f..f902c59 100644 (file)
@@ -79,8 +79,13 @@ public class FastJavaPartitionScanner implements IPartitionTokenScanner, IPHPPar
 
   private int fJavaLength;
 
-  private final IToken[] fTokens = new IToken[] { new Token(null), new Token(PHP_SINGLELINE_COMMENT),
-      new Token(PHP_MULTILINE_COMMENT), new Token(PHP_PHPDOC_COMMENT), new Token(PHP_STRING_DQ), new Token(PHP_STRING_SQ) };
+  private final IToken[] fTokens = new IToken[] {
+      new Token(null),
+      new Token(PHP_SINGLELINE_COMMENT),
+      new Token(PHP_MULTILINE_COMMENT),
+      new Token(PHP_PHPDOC_COMMENT),
+      new Token(PHP_STRING_DQ),
+      new Token(PHP_STRING_SQ) };
 
   public FastJavaPartitionScanner(boolean emulate) {
     fEmulate = emulate;
@@ -180,6 +185,19 @@ public class FastJavaPartitionScanner implements IPartitionTokenScanner, IPHPPar
           continue;
         }
 
+      case '?':
+        if (fState == SINGLE_LINE_COMMENT) {
+          int nextch = fScanner.read();
+          if (nextch == '>') {
+            // <h1>This is an <?php # echo 'simple' ?> example.</h1>
+            fTokenLength--;
+            fScanner.unread();
+            fScanner.unread();
+            return postFix(fState);
+          }
+          fScanner.unread();
+        }
+
       default:
         if (!fEmulate && fLast == CARRIAGE_RETURN) {
           switch (fState) {