Code Completion inserts the brackets after functions now
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / PHPeclipsePlugin.java
index ba2252a..04d04fc 100644 (file)
@@ -84,6 +84,11 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
   /** General debug flag*/
   public static final boolean DEBUG = false;
 
+       /**
+        * The maximum number of allowed proposals by category
+        */
+       public final static int MAX_PROPOSALS = 200;
+       
   private static ExternalToolsPlugin externalTools;
 
   /**
@@ -126,14 +131,13 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
   /** Windows NT  */
   private static final int WINDOWS_NT = 5;
   private PHPDocumentProvider fCompilationUnitDocumentProvider;
-  //Resource bundle.
-  //private ResourceBundle resourceBundle;
-
   private ImageDescriptorRegistry fImageDescriptorRegistry;
   private HashMap fIndexManagerMap = new HashMap();
 
   private JavaTextTools fJavaTextTools;
   private IFile fLastEditorFile = null;
+
   /**
    * The constructor.
    */
@@ -396,6 +400,12 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
     PreferenceConverter.setDefault(store, PHP_TYPE, PHPColorProvider.TYPE);
     PreferenceConverter.setDefault(store, PHP_STRING, PHPColorProvider.STRING);
     PreferenceConverter.setDefault(store, PHP_DEFAULT, PHPColorProvider.DEFAULT);
+    
+               PreferenceConverter.setDefault(store, PHPDOC_KEYWORD, PHPColorProvider.PHPDOC_KEYWORD);
+               PreferenceConverter.setDefault(store, PHPDOC_TAG, PHPColorProvider.PHPDOC_TAG);
+               PreferenceConverter.setDefault(store, PHPDOC_LINK, PHPColorProvider.PHPDOC_LINK);
+               PreferenceConverter.setDefault(store, PHPDOC_DEFAULT, PHPColorProvider.PHPDOC_DEFAULT);
+                       
     //    PreferenceConverter.setDefault(
     //      store,
     //      PHP_EDITOR_BACKGROUND,
@@ -466,19 +476,17 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
       fImageDescriptorRegistry = new ImageDescriptorRegistry();
     return fImageDescriptorRegistry;
   }
-
   /**
        * Open a file in the Workbench that may or may not exist in the workspace.
        * Must be run on the UI thread.
        * @param filename
-       * @param line
        * @throws CoreException
        */
-  public void openFileInTextEditor(String filename, int line, String findString) throws CoreException {
+  public ITextEditor openFileInTextEditor(String filename) throws CoreException {
 
-    // reject directories
+    // reject directories
     if (new File(filename).isDirectory())
-      return;
+      return null;
 
     IWorkbench workbench = PlatformUI.getWorkbench();
     IWorkbenchWindow window = workbench.getWorkbenchWindows()[0];
@@ -495,7 +503,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
     } else {
       // Otherwise open the stream directly
       if (page == null)
-        return;
+        return null;
       FileStorage storage = new FileStorage(path);
       IEditorRegistry registry = getWorkbench().getEditorRegistry();
       IEditorDescriptor desc = registry.getDefaultEditor(filename);
@@ -514,6 +522,18 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
         }
       }
     }
+    return textEditor;
+  }
+  /**
+       * Open a file in the Workbench that may or may not exist in the workspace.
+       * Must be run on the UI thread.
+       * @param filename
+       * @param line
+       * @throws CoreException
+       */
+  public void openFileAndGotoLine(String filename, int line) throws CoreException {
+
+    ITextEditor textEditor = openFileInTextEditor(filename);
     if (textEditor != null) {
       // If a line number was given, go to it
       if (line > 0) {
@@ -526,6 +546,32 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
           // invalid text position -> do nothing
         }
       }
+    }
+  }
+
+  /**
+       * Open a file in the Workbench that may or may not exist in the workspace.
+       * Must be run on the UI thread.
+       * @param filename
+       * @param offset
+       * @throws CoreException
+       */
+  public void openFileAndGotoOffset(String filename, int offset, int length) throws CoreException {
+
+    ITextEditor textEditor = openFileInTextEditor(filename);
+    if (textEditor != null) {
+      // If a line number was given, go to it
+      if (offset >= 0) {
+        IDocument document = textEditor.getDocumentProvider().getDocument(textEditor.getEditorInput());
+        textEditor.selectAndReveal(offset, length);
+      }
+    }
+  }
+
+  public void openFileAndFindString(String filename, String findString) throws CoreException {
+
+    ITextEditor textEditor = openFileInTextEditor(filename);
+    if (textEditor != null) {
       //               If a string was given, go to it
       if (findString != null) {
         try {
@@ -540,7 +586,6 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
       }
     }
   }
-
   public void setLastEditorFile(IFile textEditor) {
     this.fLastEditorFile = textEditor;
   }
@@ -549,8 +594,8 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
    * @see org.eclipse.ui.plugin.AbstractUIPlugin#shutdown()
    */
   public void shutdown() throws CoreException {
-               super.shutdown();
-               
+    super.shutdown();
+
     //  externalTools.shutDown();
     ColorManager.getDefault().dispose();
 
@@ -562,7 +607,7 @@ public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceCon
       indexManager = (IdentifierIndexManager) iterator.next();
       indexManager.writeFile();
     }
-    
+
   }
 
   public void startup() throws CoreException {