Added auto activation for HTML characters (i.e. <&#) in the Preference Page
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / phpeditor / php / PHPCompletionProcessor.java
index aaee068..64fcaff 100644 (file)
@@ -25,6 +25,7 @@ import net.sourceforge.phpdt.internal.ui.text.template.TemplateEngine;
 import net.sourceforge.phpeclipse.PHPeclipsePlugin;
 import net.sourceforge.phpeclipse.phpeditor.PHPContentOutlinePage;
 import net.sourceforge.phpeclipse.phpeditor.PHPEditor;
+
 import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.TextPresentation;
@@ -234,6 +235,7 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
 
   protected final static String[] fgProposals = PHPFunctionNames.FUNCTION_NAMES;
 
+  private char[] fProposalAutoActivationSet;
   protected IContextInformationValidator fValidator = new Validator();
   private TemplateEngine fTemplateEngine;
   private PHPCompletionProposalComparator fComparator;
@@ -247,6 +249,25 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
 
     fComparator = new PHPCompletionProposalComparator();
   }
+  
+  /**
+   * Tells this processor to order the proposals alphabetically.
+   * 
+   * @param order <code>true</code> if proposals should be ordered.
+   */
+  public void orderProposalsAlphabetically(boolean order) {
+    fComparator.setOrderAlphabetically(order);
+  }
+  
+  /**
+   * Sets this processor's set of characters triggering the activation of the
+   * completion proposal computation.
+   * 
+   * @param activationSet the activation set
+   */
+  public void setCompletionProposalAutoActivationCharacters(char[] activationSet) {
+    fProposalAutoActivationSet= activationSet;
+  }
   /* (non-Javadoc)
    * Method declared on IContentAssistProcessor
    */
@@ -366,13 +387,13 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
 
     //    try {
     //
-    //      JavaCodeReader reader= new JavaCodeReader();
+    //      PHPCodeReader reader= new PHPCodeReader();
     //      reader.configureBackwardReader(document, offset, true, true);
     //  
     //      int nestingLevel= 0;
     //
     //      int curr= reader.read();    
-    //      while (curr != JavaCodeReader.EOF) {
+    //      while (curr != PHPCodeReader.EOF) {
     //
     //        if (')' == (char) curr)
     //          ++ nestingLevel;
@@ -441,7 +462,8 @@ public class PHPCompletionProcessor implements IContentAssistProcessor {
    * Method declared on IContentAssistProcessor
    */
   public char[] getCompletionProposalAutoActivationCharacters() {
-    return null; // new char[] { '$' };
+    return fProposalAutoActivationSet;
+//    return null; // new char[] { '$' };
   }
 
   /* (non-Javadoc)