improved PHP parser
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / text / template / BuiltInProposal.java
index f66e38e..7c9570c 100644 (file)
@@ -3,10 +3,8 @@
  * All Rights Reserved.
  */
 package net.sourceforge.phpdt.internal.ui.text.template;
-
-import net.sourceforge.phpdt.internal.corext.template.TemplateContext;
 import net.sourceforge.phpdt.internal.corext.template.TemplateMessages;
-import net.sourceforge.phpdt.internal.corext.template.php.PHPUnitContext;
+import net.sourceforge.phpdt.internal.corext.template.php.JavaContext;
 import net.sourceforge.phpdt.internal.ui.PHPUiImages;
 import net.sourceforge.phpdt.internal.ui.text.link.LinkedPositionManager;
 import net.sourceforge.phpdt.internal.ui.text.link.LinkedPositionUI;
@@ -18,10 +16,11 @@ import org.eclipse.jface.text.IDocument;
 import org.eclipse.jface.text.IRegion;
 import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.contentassist.IContextInformation;
+import org.eclipse.jface.text.templates.TemplateContext;
 import org.eclipse.swt.graphics.Image;
-//import org.eclipse.jdt.internal.ui.text.link.LinkedPositionManager;
-//import org.eclipse.jdt.internal.ui.text.link.LinkedPositionUI;
-//import org.eclipse.jdt.internal.ui.util.ExceptionHandler;
+//import net.sourceforge.phpdt.internal.ui.text.link.LinkedPositionManager;
+//import net.sourceforge.phpdt.internal.ui.text.link.LinkedPositionUI;
+//import net.sourceforge.phpdt.internal.ui.util.ExceptionHandler;
 
 /**
  * A PHP identifier proposal.
@@ -30,15 +29,11 @@ public class BuiltInProposal extends AbstractProposal { // implements IPHPComple
   private final TemplateContext fContext;
   private final PHPFunction fFunction;
 
-  //private TemplateBuffer fTemplateBuffer;
   private String fOldText;
-  //  private final Image fImage_builtin;
 
   private final IRegion fRegion;
-//  private IRegion fSelectedRegion; // initialized by apply()
 
   private final String fBuiltinFunctionName;
-//  private final ITextViewer fViewer;
 
   /**
    * Creates a template proposal with a template and its context.
@@ -51,7 +46,7 @@ public class BuiltInProposal extends AbstractProposal { // implements IPHPComple
     fBuiltinFunctionName = functionName;
     fFunction = function;
     fContext = context;
-//    fViewer = viewer;
+    //    fViewer = viewer;
     fRegion = region;
   }
 
@@ -68,7 +63,7 @@ public class BuiltInProposal extends AbstractProposal { // implements IPHPComple
 
       // insert template string
       //  String templateString = fTemplate; // fTemplateBuffer.getString();   
-      document.replace(start, end - start, fBuiltinFunctionName);
+      document.replace(start, end - start, fBuiltinFunctionName + "()");
 
       // translate positions
       LinkedPositionManager manager = new LinkedPositionManager(document);
@@ -87,7 +82,7 @@ public class BuiltInProposal extends AbstractProposal { // implements IPHPComple
       //                       }
 
       LinkedPositionUI editor = new LinkedPositionUI(fViewer, manager);
-      editor.setFinalCaretOffset(fBuiltinFunctionName.length() + start);
+      editor.setFinalCaretOffset(fBuiltinFunctionName.length() + start + 1);
       //   editor.setFinalCaretOffset(getCaretOffset(fTemplateBuffer) + start);
       editor.enter();
 
@@ -107,7 +102,7 @@ public class BuiltInProposal extends AbstractProposal { // implements IPHPComple
    * @see ICompletionProposal#getAdditionalProposalInfo()
    */
   public String getAdditionalProposalInfo() {
-    return textToHTML(fFunction.getUsage() + "\n\n" + fFunction.getDescription()); // fTemplateBuffer.getString());
+    return textToHTML(fFunction.getDescription()); 
   }
 
   /*
@@ -121,8 +116,7 @@ public class BuiltInProposal extends AbstractProposal { // implements IPHPComple
    * @see ICompletionProposal#getDisplayString()
    */
   public String getDisplayString() {
-    return fBuiltinFunctionName + TemplateMessages.getString("TemplateProposal.delimiter") + fBuiltinFunctionName; // $NON-NLS-1$ //$NON-NLS-1$
-    //         return fTemplate.getName() + ObfuscatorMessages.getString("TemplateProposal.delimiter") + fTemplate.getDescription(); // $NON-NLS-1$ //$NON-NLS-1$
+    return fBuiltinFunctionName + TemplateMessages.getString("TemplateProposal.delimiter") + fFunction.getUsage(); // $NON-NLS-1$ //$NON-NLS-1$
   }
 
   /*
@@ -137,21 +131,21 @@ public class BuiltInProposal extends AbstractProposal { // implements IPHPComple
    */
   public int getRelevance() {
 
-    if (fContext instanceof PHPUnitContext) {
-      PHPUnitContext context = (PHPUnitContext) fContext;
+    if (fContext instanceof JavaContext) {
+      JavaContext context = (JavaContext) fContext;
       switch (context.getCharacterBeforeStart()) {
         // high relevance after whitespace
         case ' ' :
         case '\r' :
         case '\n' :
         case '\t' :
-          return 90;
+          return 50;
 
         default :
           return 0;
       }
     } else {
-      return 90;
+      return 50;
     }
   }