Improved xml scanner for this bug
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / phpeditor / php / PHPPartitionScanner.java
index 5f1c3a7..a4581f8 100644 (file)
@@ -8,7 +8,7 @@
  Contributors:
  Igor Malinin - initial contribution
 
- $Id: PHPPartitionScanner.java,v 1.28 2005-05-13 20:19:42 axelcl Exp $
+ $Id: PHPPartitionScanner.java,v 1.29 2005-05-15 23:24:41 axelcl Exp $
  **********************************************************************/
 package net.sourceforge.phpeclipse.phpeditor.php;
 
@@ -31,14 +31,8 @@ import org.eclipse.jface.text.rules.Token;
  * @author Igor Malinin
  */
 public class PHPPartitionScanner implements IPartitionTokenScanner {
-  //   public static final String JSP_DIRECTIVE = "__jsp_directive";
-  //   public static final String JSP_COMMENT = "__jsp_comment";
-  //// public static final String JSP_TAG = "__jsp_tag";
-  //   public static final String JSP_DECLARATION = "__jsp_declaration";
   public static final String PHP_SCRIPTING_AREA = "__php_scripting_area ";
 
-  //   public static final String JSP_EXPRESSION = "__jsp_expression";
-
   public static final int STATE_DEFAULT = 0;
 
   //   public static final int STATE_TAG = 1;
@@ -84,26 +78,14 @@ public class PHPPartitionScanner implements IPartitionTokenScanner {
         state = STATE_DEFAULT;
         return getToken(null);
 
-      case '?': // <%SCRIPLET <%@DIRECTIVE <%!DECLARATION <%=EXPRESSION <%--COMMENT
-        int ch = read();
-        //                                              if (Character.isWhitespace((char)ch)) {
-        //                                                return nextJSPToken(PHP_SCRIPTING_AREA);
-        //                                              }
-        switch (ch) {
-        case ICharacterScanner.EOF:
-          state = STATE_DEFAULT;
-          return getToken(PHP_SCRIPTING_AREA);
-
-        //                                                     case '-': // <%- <%--COMMENT
-        //                                                             switch (read()) {
-        //                                                                     case ICharacterScanner.EOF:
-        //                                                                     case '-': // <%--
-        //                                                                             return nextCommentToken();
-        //                                                             }
-        //
-        //                                                             break;
-        }
-
+      case '?': // <?
+//        int ch = read();
+//
+//        switch (ch) {
+//        case ICharacterScanner.EOF:
+//          state = STATE_DEFAULT;
+//          return getToken(PHP_SCRIPTING_AREA);
+//        }
         return scanUntilPHPEndToken(PHP_SCRIPTING_AREA);
       }
 
@@ -211,51 +193,6 @@ public class PHPPartitionScanner implements IPartitionTokenScanner {
     }
   }
 
-  //   private IToken nextCommentToken() {
-  //           int ch = read();
-  //           loop: while (true) {
-  //                   switch (ch) {
-  //                           case ICharacterScanner.EOF:
-  //                                   break loop;
-  //
-  //                           case '-': // - --%>
-  //                                   ch = read();
-  //                                   switch (ch) {
-  //                                           case ICharacterScanner.EOF:
-  //                                                   break loop;
-  //
-  //                                           case '-': // -- --%>
-  //                                                   ch = read();
-  //                                                   switch (ch) {
-  //                                                           case ICharacterScanner.EOF:
-  //                                                                   break loop;
-  //
-  //                                                           case '%': // --% --%>
-  //                                                                   ch = read();
-  //                                                                   switch (ch) {
-  //                                                                           case ICharacterScanner.EOF:
-  //                                                                           case '>':
-  //                                                                                   break loop;
-  //                                                                   }
-  //
-  //                                                                   continue loop;
-  //
-  //                                                           case '-': // --- ---%>
-  //                                                                   unread();
-  //                                                                   continue loop;
-  //                                                   }
-  //
-  //                                                   ch = read();
-  //                                                   continue loop;
-  //                                   }
-  //                   }
-  //
-  //                   ch = read();
-  //           }
-  //
-  //           return getToken(JSP_COMMENT);
-  //   }
-
   private IToken getToken(String type) {
     length = position - offset;
 
@@ -422,13 +359,13 @@ public class PHPPartitionScanner implements IPartitionTokenScanner {
    */
   public void setPartialRange(IDocument document, int offset, int length, String contentType, int partitionOffset) {
     state = STATE_DEFAULT;
-    //    if (partitionOffset > -1) {
-    //         int delta= offset - partitionOffset;
-    //         if (delta > 0) {
-    //                 this.setRange(document, partitionOffset, length + delta);
-    //                 return;
-    //         }
-    // }
+    if (partitionOffset > -1) {
+      int delta = offset - partitionOffset;
+      if (delta > 0) {
+        setRange(document, partitionOffset, length + delta);
+        return;
+      }
+    }
     setRange(document, partitionOffset, length);
   }