Prepared better HEREDOC support; see comment for bug #1319276
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / ui / text / JavaTextTools.java
index acb7427..e9edc5e 100644 (file)
@@ -54,15 +54,16 @@ public class JavaTextTools implements IPHPPartitions {
       PHP_MULTILINE_COMMENT,
       PHP_SINGLELINE_COMMENT,
       PHP_STRING_DQ,
-      PHP_STRING_SQ };
+      PHP_STRING_SQ,
+      PHP_STRING_HEREDOC};
 
-  private static XMLPartitionScanner HTML_PARTITION_SCANNER = null;
+//  private static XMLPartitionScanner HTML_PARTITION_SCANNER = null;
 
-  private static FastJavaPartitionScanner PHP_PARTITION_SCANNER = null;
+//  private static FastJavaPartitionScanner PHP_PARTITION_SCANNER = null;
 
   private static HTMLPartitionScanner SMARTY_PARTITION_SCANNER = null;
 
-  private static XMLPartitionScanner XML_PARTITION_SCANNER = null;
+//  private static XMLPartitionScanner XML_PARTITION_SCANNER = null;
 
   // private final static String[] TYPES= new String[] { PHPPartitionScanner.PHP, PHPPartitionScanner.JAVA_DOC,
   // PHPPartitionScanner.JAVA_MULTILINE_COMMENT };
@@ -107,7 +108,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /** The PHP single quoted string scanner */
 //  private SingleTokenPHPScanner fStringSQScanner;
-  
+
   /** The PHPDoc scanner */
   private PHPDocCodeScanner fPHPDocScanner;
 
@@ -130,7 +131,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * The core preference store.
-   * 
+   *
    * @since 2.1
    */
   private Preferences fCorePreferenceStore;
@@ -149,7 +150,7 @@ public class JavaTextTools implements IPHPPartitions {
   //  private RuleBasedScanner jspBracketScanner;
   /**
    * Creates a new Java text tools collection.
-   * 
+   *
    * @param store
    *          the preference store to initialize the text tools. The text tool instance installs a listener on the passed preference
    *          store to adapt itself to changes in the preference store. In general <code>PreferenceConstants.
@@ -167,7 +168,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Creates a new Java text tools collection.
-   * 
+   *
    * @param store
    *          the preference store to initialize the text tools. The text tool instance installs a listener on the passed preference
    *          store to adapt itself to changes in the preference store. In general <code>PreferenceConstants.
@@ -202,7 +203,7 @@ public class JavaTextTools implements IPHPPartitions {
         IPreferenceConstants.PHP_SINGLELINE_COMMENT);
 //    fStringDQScanner = new SingleTokenPHPScanner((JavaColorManager) colorManager, store, IPreferenceConstants.PHP_STRING);
 //    fStringSQScanner = new SingleTokenPHPScanner((JavaColorManager) colorManager, store, IPreferenceConstants.PHP_STRING);
-    
+
     fPHPDocScanner = new PHPDocCodeScanner((JavaColorManager) colorManager, store);
     //    fHTMLScanner = new HTMLCodeScanner((JavaColorManager)fColorManager, store);
     fSmartyScanner = new SmartyCodeScanner((JavaColorManager) colorManager, store);
@@ -221,7 +222,7 @@ public class JavaTextTools implements IPHPPartitions {
   }
 
   /**
-   *  
+   *
    */
   public XMLTextTools getXMLTextTools() {
     return xmlTextTools;
@@ -260,7 +261,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Returns the color manager which is used to manage any Java-specific colors needed for such things like syntax highlighting.
-   * 
+   *
    * @return the color manager to be used for Java text viewers
    */
   public JavaColorManager getColorManager() {
@@ -269,7 +270,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Returns a scanner which is configured to scan Java source code.
-   * 
+   *
    * @return a Java source code scanner
    */
   public RuleBasedScanner getCodeScanner() {
@@ -278,9 +279,9 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Returns a scanner which is configured to scan Java multiline comments.
-   * 
+   *
    * @return a Java multiline comment scanner
-   * 
+   *
    * @since 2.0
    */
   public RuleBasedScanner getMultilineCommentScanner() {
@@ -289,9 +290,9 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Returns a scanner which is configured to scan HTML code.
-   * 
+   *
    * @return a HTML scanner
-   * 
+   *
    * @since 2.0
    */
   //  public RuleBasedScanner getHTMLScanner() {
@@ -299,9 +300,9 @@ public class JavaTextTools implements IPHPPartitions {
   //  }
   /**
    * Returns a scanner which is configured to scan Smarty code.
-   * 
+   *
    * @return a Smarty scanner
-   * 
+   *
    * @since 2.0
    */
   public RuleBasedScanner getSmartyScanner() {
@@ -310,9 +311,9 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Returns a scanner which is configured to scan Smarty code.
-   * 
+   *
    * @return a Smarty scanner
-   * 
+   *
    * @since 2.0
    */
   public RuleBasedScanner getSmartyDocScanner() {
@@ -321,9 +322,9 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Returns a scanner which is configured to scan Java singleline comments.
-   * 
+   *
    * @return a Java singleline comment scanner
-   * 
+   *
    * @since 2.0
    */
   public RuleBasedScanner getSinglelineCommentScanner() {
@@ -332,9 +333,9 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Returns a scanner which is configured to scan Java strings.
-   * 
+   *
    * @return a Java string scanner
-   * 
+   *
    * @since 2.0
    */
 //  public RuleBasedScanner getStringScanner() {
@@ -344,7 +345,7 @@ public class JavaTextTools implements IPHPPartitions {
   /**
    * Returns a scanner which is configured to scan JavaDoc compliant comments. Notes that the start sequence "/**" and the
    * corresponding end sequence are part of the JavaDoc comment.
-   * 
+   *
    * @return a JavaDoc scanner
    */
   public RuleBasedScanner getJavaDocScanner() {
@@ -354,7 +355,7 @@ public class JavaTextTools implements IPHPPartitions {
   /**
    * Returns a scanner which is configured to scan Java-specific partitions, which are multi-line comments, JavaDoc comments, and
    * regular Java source code.
-   * 
+   *
    * @return a Java partition scanner
    */
   //  public IPartitionTokenScanner getPartitionScanner() {
@@ -363,7 +364,7 @@ public class JavaTextTools implements IPHPPartitions {
   /**
    * Factory method for creating a PHP-specific document partitioner using this object's partitions scanner. This method is a
    * convenience method.
-   * 
+   *
    * @return a newly created Java document partitioner
    */
   public IDocumentPartitioner createDocumentPartitioner() {
@@ -373,7 +374,7 @@ public class JavaTextTools implements IPHPPartitions {
   /**
    * Factory method for creating a PHP-specific document partitioner using this object's partitions scanner. This method is a
    * convenience method.
-   * 
+   *
    * @return a newly created Java document partitioner
    */
   public IDocumentPartitioner createDocumentPartitioner(String extension) {
@@ -418,14 +419,14 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Sets up the Java document partitioner for the given document for the given partitioning.
-   * 
+   *
    * @param document
    *          the document to be set up
    * @param partitioning
    *          the document partitioning
    * @param element
    *          TODO
-   * 
+   *
    * @since 3.0
    */
   //  public void setupJavaDocumentPartitioner(IDocument document, String partitioning, Object element) {
@@ -466,7 +467,7 @@ public class JavaTextTools implements IPHPPartitions {
   /**
    * Returns the names of the document position categories used by the document partitioners created by this object to manage their
    * partition information. If the partitioners don't use document position categories, the returned result is <code>null</code>.
-   * 
+   *
    * @return the partition managing position categories or <code>null</code> if there is none
    */
   public String[] getPartitionManagingPositionCategories() {
@@ -475,7 +476,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Determines whether the preference change encoded by the given event changes the behavior of one its contained components.
-   * 
+   *
    * @param event
    *          the event to be investigated
    * @return <code>true</code> if event causes a behavioral change
@@ -492,7 +493,7 @@ public class JavaTextTools implements IPHPPartitions {
   //  }
   /**
    * Adapts the behavior of the contained components to the change encoded in the given event.
-   * 
+   *
    * @param event
    *          the event to which to adapt
    * @since 2.0
@@ -551,7 +552,7 @@ public class JavaTextTools implements IPHPPartitions {
   }
 
   /**
-   *  
+   *
    */
   //  public IPartitionTokenScanner getJSPScriptScanner() {
   //    return jspScriptScanner;
@@ -592,7 +593,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Returns a scanner which is configured to scan plain text in JSP.
-   * 
+   *
    * @return a JSP text scanner
    */
   //  public RuleBasedScanner getJSPTextScanner() {
@@ -600,7 +601,7 @@ public class JavaTextTools implements IPHPPartitions {
   //  }
   /**
    * Returns a scanner which is configured to scan plain text in JSP.
-   * 
+   *
    * @return a JSP text scanner
    */
   //  public RuleBasedScanner getJSPBracketScanner() {
@@ -635,7 +636,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Sets up the Java document partitioner for the given document for the default partitioning.
-   * 
+   *
    * @param document
    *          the document to be set up
    * @since 3.0
@@ -646,7 +647,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Sets up the Java document partitioner for the given document for the given partitioning.
-   * 
+   *
    * @param document
    *          the document to be set up
    * @param partitioning
@@ -666,7 +667,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Returns this text tool's preference store.
-   * 
+   *
    * @return the preference store
    * @since 3.0
    */
@@ -676,7 +677,7 @@ public class JavaTextTools implements IPHPPartitions {
 
   /**
    * Returns this text tool's core preference store.
-   * 
+   *
    * @return the core preference store
    * @since 3.0
    */