X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java index 20ede98..f3a86d2 100644 --- a/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpeclipse/PHPeclipsePlugin.java @@ -15,17 +15,15 @@ import java.util.MissingResourceException; import java.util.ResourceBundle; import net.sourceforge.phpeclipse.phpeditor.PHPDocumentProvider; +import net.sourceforge.phpeclipse.phpeditor.util.PHPColorProvider; import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IPluginDescriptor; import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.MultiStatus; import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Status; -//import org.eclipse.jdt.internal.ui.JavaStatusConstants; -//import org.eclipse.jdt.internal.ui.JavaUIMessages; import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; @@ -34,135 +32,137 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; /** * The main plugin class to be used in the desktop. */ -public class PHPeclipsePlugin extends AbstractUIPlugin { - public static final String LOCALHOST_PREF = "_localhost"; - public static final String DOCUMENTROOT_PREF = "_documentroot"; - public static final String USE_EXTERNAL_BROWSER_PREF = "_use_external_browser"; - public static final String EXTERNAL_BROWSER_PREF = "_external_browser"; - public static final String MYSQL_PREF = "_my_sql"; - public static final String APACHE_START_PREF = "_apache_start"; - public static final String APACHE_STOP_PREF = "_apache_stop"; - public static final String APACHE_RESTART_PREF = "_apache_restart"; - +public class PHPeclipsePlugin extends AbstractUIPlugin implements IPreferenceConstants { + // public static final String LOCALHOST_PREF = "_localhost"; + // public static final String DOCUMENTROOT_PREF = "_documentroot"; + // public static final String USE_EXTERNAL_BROWSER_PREF = "_use_external_browser"; + // public static final String EXTERNAL_BROWSER_PREF = "_external_browser"; + // public static final String MYSQL_PREF = "_my_sql"; + // public static final String APACHE_START_PREF = "_apache_start"; + // public static final String APACHE_STOP_PREF = "_apache_stop"; + // public static final String APACHE_RESTART_PREF = "_apache_restart"; + // public static final String SHOW_OUTPUT_IN_CONSOLE = "_sho_output_in_console"; + // public static final String EXTERNAL_PARSER_PREF = "_external_parser"; + /** * The id of the PHP plugin (value "net.sourceforge.phpeclipse"). - */ - public static final String ID_PLUGIN= "net.sourceforge.phpeclipse"; //$NON-NLS-1$ - - //The shared instance. - private static PHPeclipsePlugin plugin; - //Resource bundle. - private ResourceBundle resourceBundle; - + */ + public static final String ID_PLUGIN = "net.sourceforge.phpeclipse"; //$NON-NLS-1$ + + //The shared instance. + private static PHPeclipsePlugin plugin; + //Resource bundle. + private ResourceBundle resourceBundle; + private PHPDocumentProvider fCompilationUnitDocumentProvider; - /** - * The Java virtual machine that we are running on. - */ - private static int jvm; - - /** MRJ 2.0 */ - private static final int MRJ_2_0 = 0; - - /** MRJ 2.1 or later */ - private static final int MRJ_2_1 = 1; - - /** Java on Mac OS X 10.0 (MRJ 3.0) */ - private static final int MRJ_3_0 = 3; - - /** MRJ 3.1 */ - private static final int MRJ_3_1 = 4; - - /** Windows NT */ - private static final int WINDOWS_NT = 5; - - /** Windows 9x */ - private static final int WINDOWS_9x = 6; - - /** JVM constant for any other platform */ - private static final int OTHER = -1; - /** - * The constructor. - */ - public PHPeclipsePlugin(IPluginDescriptor descriptor) { - super(descriptor); - plugin = this; - setJVM(); - try { - resourceBundle = ResourceBundle.getBundle("net.sourceforge.PHPeclipsePluginResources"); - } catch (MissingResourceException x) { - resourceBundle = null; - } - } + /** + * The Java virtual machine that we are running on. + */ + private static int jvm; + + /** MRJ 2.0 */ + private static final int MRJ_2_0 = 0; + + /** MRJ 2.1 or later */ + private static final int MRJ_2_1 = 1; + + /** Java on Mac OS X 10.0 (MRJ 3.0) */ + private static final int MRJ_3_0 = 3; + + /** MRJ 3.1 */ + private static final int MRJ_3_1 = 4; + + /** Windows NT */ + private static final int WINDOWS_NT = 5; + + /** Windows 9x */ + private static final int WINDOWS_9x = 6; + + /** JVM constant for any other platform */ + private static final int OTHER = -1; + /** + * The constructor. + */ + public PHPeclipsePlugin(IPluginDescriptor descriptor) { + super(descriptor); + plugin = this; + setJVM(); + try { + resourceBundle = ResourceBundle.getBundle("net.sourceforge.PHPeclipsePluginResources"); + } catch (MissingResourceException x) { + resourceBundle = null; + } + } // @TODO: refactor this into a better method name ! public PHPDocumentProvider getCompilationUnitDocumentProvider() { if (fCompilationUnitDocumentProvider == null) - fCompilationUnitDocumentProvider= new PHPDocumentProvider(); + fCompilationUnitDocumentProvider = new PHPDocumentProvider(); return fCompilationUnitDocumentProvider; } - - public static void setJVM() { - String osName = System.getProperty("os.name"); - - if (osName.startsWith("Mac OS")) { - String mrjVersion = System.getProperty("mrj.version"); - String majorMRJVersion = mrjVersion.substring(0, 3); - jvm = OTHER; - try { - - double version = Double.valueOf(majorMRJVersion).doubleValue(); - - if (version == 2) { - jvm = MRJ_2_0; - } else if (version >= 2.1 && version < 3) { - jvm = MRJ_2_1; - } else if (version == 3.0) { - jvm = MRJ_3_0; - } else if (version >= 3.1) { - jvm = MRJ_3_1; - } - - } catch (NumberFormatException nfe) { - - } - - } else if (osName.startsWith("Windows")) { - if (osName.indexOf("9") != -1) { - jvm = WINDOWS_9x; - } else { - jvm = WINDOWS_NT; - } - } - } - public static int getJVM() { - return jvm; - } - /** - * Returns the shared instance. - */ - public static PHPeclipsePlugin getDefault() { - return plugin; - } - - /** - * Returns the workspace instance. - */ - public static IWorkspace getWorkspace() { - return ResourcesPlugin.getWorkspace(); - } - + + public static void setJVM() { + String osName = System.getProperty("os.name"); + + if (osName.startsWith("Mac OS")) { + String mrjVersion = System.getProperty("mrj.version"); + String majorMRJVersion = mrjVersion.substring(0, 3); + jvm = OTHER; + try { + + double version = Double.valueOf(majorMRJVersion).doubleValue(); + + if (version == 2) { + jvm = MRJ_2_0; + } else if (version >= 2.1 && version < 3) { + jvm = MRJ_2_1; + } else if (version == 3.0) { + jvm = MRJ_3_0; + } else if (version >= 3.1) { + jvm = MRJ_3_1; + } + + } catch (NumberFormatException nfe) { + + } + + } else if (osName.startsWith("Windows")) { + if (osName.indexOf("9") != -1) { + jvm = WINDOWS_9x; + } else { + jvm = WINDOWS_NT; + } + } + } + public static int getJVM() { + return jvm; + } + /** + * Returns the shared instance. + */ + public static PHPeclipsePlugin getDefault() { + return plugin; + } + + /** + * Returns the workspace instance. + */ + public static IWorkspace getWorkspace() { + return ResourcesPlugin.getWorkspace(); + } + public static IWorkbenchPage getActivePage() { return getDefault().getActivePage(); } - + public static IWorkbenchWindow getActiveWorkbenchWindow() { return getDefault().getWorkbench().getActiveWorkbenchWindow(); } - + public static Shell getActiveWorkbenchShell() { return getActiveWorkbenchWindow().getShell(); } - + public static String getPluginId() { return getDefault().getDescriptor().getUniqueIdentifier(); } @@ -170,77 +170,96 @@ public class PHPeclipsePlugin extends AbstractUIPlugin { public static void log(IStatus status) { getDefault().getLog().log(status); } - -// public static void logErrorMessage(String message) { -// log(new Status(IStatus.ERROR, getPluginId(), JavaStatusConstants.INTERNAL_ERROR, message, null)); -// } -// -// public static void logErrorStatus(String message, IStatus status) { -// if (status == null) { -// logErrorMessage(message); -// return; -// } -// MultiStatus multi= new MultiStatus(getPluginId(), JavaStatusConstants.INTERNAL_ERROR, message, null); -// multi.add(status); -// log(multi); -// } -// -// public static void log(Throwable e) { -// log(new Status(IStatus.ERROR, getPluginId(), JavaStatusConstants.INTERNAL_ERROR, JavaUIMessages.getString("JavaPlugin.internal_error"), e)); //$NON-NLS-1$ -// } - + + // public static void logErrorMessage(String message) { + // log(new Status(IStatus.ERROR, getPluginId(), JavaStatusConstants.INTERNAL_ERROR, message, null)); + // } + // + // public static void logErrorStatus(String message, IStatus status) { + // if (status == null) { + // logErrorMessage(message); + // return; + // } + // MultiStatus multi= new MultiStatus(getPluginId(), JavaStatusConstants.INTERNAL_ERROR, message, null); + // multi.add(status); + // log(multi); + // } + // + // public static void log(Throwable e) { + // log(new Status(IStatus.ERROR, getPluginId(), JavaStatusConstants.INTERNAL_ERROR, JavaUIMessages.getString("JavaPlugin.internal_error"), e)); //$NON-NLS-1$ + // } + public static boolean isDebug() { return getDefault().isDebugging(); } - + static IPath getInstallLocation() { return new Path(getDefault().getDescriptor().getInstallURL().getFile()); } - /** - * Returns the string from the plugin's resource bundle, - * or 'key' if not found. - */ - public static String getResourceString(String key) { - ResourceBundle bundle = PHPeclipsePlugin.getDefault().getResourceBundle(); - try { - return bundle.getString(key); - } catch (MissingResourceException e) { - return key; - } - } - - /** - * Returns the plugin's resource bundle, - */ - public ResourceBundle getResourceBundle() { - return resourceBundle; - } - - protected void initializeDefaultPreferences(IPreferenceStore store) { - // windows preferences: - store.setDefault(LOCALHOST_PREF, "http://localhost"); - - store.setDefault(USE_EXTERNAL_BROWSER_PREF, "false"); - if (jvm == WINDOWS_9x) { - store.setDefault(EXTERNAL_BROWSER_PREF, "command.com /c start iexplore {0}"); - } else if (jvm == WINDOWS_NT) { - store.setDefault(EXTERNAL_BROWSER_PREF, "rundll32 url.dll,FileProtocolHandler {0}"); - } else { - store.setDefault(EXTERNAL_BROWSER_PREF, "netscape {0}"); - } - if ((jvm == WINDOWS_9x) || (jvm == WINDOWS_NT)) { + /** + * Returns the string from the plugin's resource bundle, + * or 'key' if not found. + */ + public static String getResourceString(String key) { + ResourceBundle bundle = PHPeclipsePlugin.getDefault().getResourceBundle(); + try { + return bundle.getString(key); + } catch (MissingResourceException e) { + return key; + } + } + + /** + * Returns the plugin's resource bundle, + */ + public ResourceBundle getResourceBundle() { + return resourceBundle; + } + + protected void initializeDefaultPreferences(IPreferenceStore store) { + // windows preferences: + store.setDefault(LOCALHOST_PREF, "http://localhost"); + + store.setDefault(USE_EXTERNAL_BROWSER_PREF, "false"); + store.setDefault(SHOW_OUTPUT_IN_CONSOLE, "true"); + if (jvm == WINDOWS_9x) { + store.setDefault(EXTERNAL_BROWSER_PREF, "command.com /c start iexplore {0}"); + } else if (jvm == WINDOWS_NT) { + store.setDefault(EXTERNAL_BROWSER_PREF, "rundll32 url.dll,FileProtocolHandler {0}"); + } else { + store.setDefault(EXTERNAL_BROWSER_PREF, "netscape {0}"); + } + if ((jvm == WINDOWS_9x) || (jvm == WINDOWS_NT)) { + store.setDefault(EXTERNAL_PARSER_PREF, "c:\\apache\\php\\php -l -f {0}"); store.setDefault(DOCUMENTROOT_PREF, "c:\\eclipse\\workspace"); - store.setDefault(MYSQL_PREF, "c:\\apache\\mysql\\bin\\mysqld.exe --standalone"); - store.setDefault(APACHE_START_PREF, "c:\\apache\\apache.exe -c \"DocumentRoot \"{0}\"\""); - store.setDefault(APACHE_STOP_PREF, "c:\\apache\\apache.exe -k shutdown"); - store.setDefault(APACHE_RESTART_PREF, "c:\\apache\\apache.exe -k restart"); - } else { + store.setDefault(MYSQL_PREF, "c:\\apache\\mysql\\bin\\mysqld.exe --standalone"); + store.setDefault(APACHE_START_PREF, "c:\\apache\\apache.exe -c \"DocumentRoot \"{0}\"\""); + store.setDefault(APACHE_STOP_PREF, "c:\\apache\\apache.exe -k shutdown"); + store.setDefault(APACHE_RESTART_PREF, "c:\\apache\\apache.exe -k restart"); + } else { + store.setDefault(EXTERNAL_PARSER_PREF, "/apache/php/php -l -f {0}"); store.setDefault(DOCUMENTROOT_PREF, "/eclipse/workspace"); - store.setDefault(MYSQL_PREF, "/apache/mysql/bin/mysqld --standalone"); - store.setDefault(APACHE_START_PREF, "/apache/apache -c \"DocumentRoot \"{0}\"\""); - store.setDefault(APACHE_STOP_PREF, "/apache/apache.exe -k shutdown"); - store.setDefault(APACHE_RESTART_PREF, "/apache/apache -k restart"); - } - } + store.setDefault(MYSQL_PREF, "/apache/mysql/bin/mysqld --standalone"); + store.setDefault(APACHE_START_PREF, "/apache/apache -c \"DocumentRoot \"{0}\"\""); + store.setDefault(APACHE_STOP_PREF, "/apache/apache.exe -k shutdown"); + store.setDefault(APACHE_RESTART_PREF, "/apache/apache -k restart"); + + } + + store.setDefault(PHP_PARSER_DEFAULT, "true"); + store.setDefault(PHP_INTERNAL_PARSER, "true"); + store.setDefault(PHP_EXTERNAL_PARSER, "false"); + + store.setDefault(PHP_PARSE_ON_SAVE, "true"); + // php syntax highlighting + PreferenceConverter.setDefault(store, PHP_MULTILINE_COMMENT, PHPColorProvider.MULTI_LINE_COMMENT); + PreferenceConverter.setDefault(store, PHP_SINGLELINE_COMMENT, PHPColorProvider.SINGLE_LINE_COMMENT); + PreferenceConverter.setDefault(store, PHP_KEYWORD, PHPColorProvider.KEYWORD); + PreferenceConverter.setDefault(store, PHP_VARIABLE, PHPColorProvider.VARIABLE); + PreferenceConverter.setDefault(store, PHP_FUNCTIONNAME, PHPColorProvider.FUNCTION_NAME); + PreferenceConverter.setDefault(store, PHP_STRING, PHPColorProvider.STRING); + PreferenceConverter.setDefault(store, PHP_DEFAULT, PHPColorProvider.DEFAULT); + + } } \ No newline at end of file