js formatter preference/property page
diff --git a/plugins/org.eclipse.dltk.javascript.ui/plugin.properties b/plugins/org.eclipse.dltk.javascript.ui/plugin.properties
index dd6cb83..77805a2 100644
--- a/plugins/org.eclipse.dltk.javascript.ui/plugin.properties
+++ b/plugins/org.eclipse.dltk.javascript.ui/plugin.properties
@@ -91,4 +91,5 @@
JavaScriptBuildPathPropertyPage.name = Build Path
JavaScriptPropertyPage.name = JavaScript
-
+JavaScriptFormatterPreferencePage.name=Formatter
+Formatter.PropertyPage=Formatter
diff --git a/plugins/org.eclipse.dltk.javascript.ui/plugin.xml b/plugins/org.eclipse.dltk.javascript.ui/plugin.xml
index 0509191..e122085 100644
--- a/plugins/org.eclipse.dltk.javascript.ui/plugin.xml
+++ b/plugins/org.eclipse.dltk.javascript.ui/plugin.xml
@@ -496,4 +496,25 @@
</engineContribution>
</extension>
+<extension point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.dltk.javascript.ui.javascript"
+ class="org.eclipse.dltk.javascript.internal.ui.preferences.JavaScriptFormatterPreferencePage"
+ id="org.eclipse.dltk.javascript.preferencePage.formatter"
+ name="%JavaScriptFormatterPreferencePage.name"/>
+</extension>
+<extension point="org.eclipse.ui.propertyPages">
+ <page
+ class="org.eclipse.dltk.javascript.internal.ui.preferences.JavaScriptFormatterPreferencePage"
+ category="org.eclipse.dltk.javascript.propertyPage"
+ id="org.eclipse.dltk.javascript.propertyPage.formatter"
+ name="%Formatter.PropertyPage">
+ <enabledWhen>
+ <adapt type="org.eclipse.core.resources.IProject">
+ <test property="org.eclipse.core.resources.projectNature" value="org.eclipse.dltk.javascript.core.nature"/>
+ </adapt>
+ </enabledWhen>
+ </page>
+</extension>
+
</plugin>
diff --git a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavaScriptFormatterPreferencePage.java b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavaScriptFormatterPreferencePage.java
new file mode 100644
index 0000000..187dddf
--- /dev/null
+++ b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/internal/ui/preferences/JavaScriptFormatterPreferencePage.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2009 xored software, Inc.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * xored software, Inc. - initial API and Implementation (Vladimir Belov)
+ *******************************************************************************/
+
+package org.eclipse.dltk.javascript.internal.ui.preferences;
+
+import org.eclipse.dltk.javascript.core.JavaScriptNature;
+import org.eclipse.dltk.javascript.internal.ui.JavaScriptUI;
+import org.eclipse.dltk.javascript.internal.ui.text.SimpleJavascriptSourceViewerConfiguration;
+import org.eclipse.dltk.javascript.ui.JavascriptPreferenceConstants;
+import org.eclipse.dltk.javascript.ui.text.IJavaScriptPartitions;
+import org.eclipse.dltk.ui.formatter.AbstractFormatterPreferencePage;
+import org.eclipse.dltk.ui.preferences.PreferenceKey;
+import org.eclipse.dltk.ui.text.IColorManager;
+import org.eclipse.dltk.ui.text.ScriptSourceViewerConfiguration;
+import org.eclipse.jface.dialogs.IDialogSettings;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.ui.texteditor.ITextEditor;
+
+public class JavaScriptFormatterPreferencePage extends
+ AbstractFormatterPreferencePage {
+
+ private static final PreferenceKey FORMATTER = new PreferenceKey(
+ JavaScriptUI.PLUGIN_ID, JavascriptPreferenceConstants.FORMATTER_ID);
+
+ protected String getNatureId() {
+ return JavaScriptNature.NATURE_ID;
+ }
+
+ protected PreferenceKey getFormatterPreferenceKey() {
+ return FORMATTER;
+ }
+
+ protected IDialogSettings getDialogSettings() {
+ return JavaScriptUI.getDefault().getDialogSettings();
+ }
+
+ protected String getPreferencePageId() {
+ return "org.eclipse.dltk.javascript.preferencePage.formatter"; //$NON-NLS-1$
+ }
+
+ protected String getPropertyPageId() {
+ return "org.eclipse.dltk.javascript.propertyPage.formatter"; //$NON-NLS-1$
+ }
+
+ protected ScriptSourceViewerConfiguration createSimpleSourceViewerConfiguration(
+ IColorManager colorManager, IPreferenceStore preferenceStore,
+ ITextEditor editor, boolean configureFormatter) {
+ return new SimpleJavascriptSourceViewerConfiguration(colorManager,
+ preferenceStore, editor, IJavaScriptPartitions.JS_PARTITIONING,
+ configureFormatter);
+ }
+
+ protected void setPreferenceStore() {
+ setPreferenceStore(JavaScriptUI.getDefault().getPreferenceStore());
+ }
+
+}
diff --git a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/ui/JavascriptPreferenceConstants.java b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/ui/JavascriptPreferenceConstants.java
index c7d7c28..9e6a829 100644
--- a/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/ui/JavascriptPreferenceConstants.java
+++ b/plugins/org.eclipse.dltk.javascript.ui/src/org/eclipse/dltk/javascript/ui/JavascriptPreferenceConstants.java
@@ -421,6 +421,11 @@
public final static String COMMENT_TASK_TAGS_BOLD = COMMENT_TASK_TAGS
+ EDITOR_BOLD_SUFFIX;
+ /**
+ * A preference that controls the selected formatter.
+ */
+ public static final String FORMATTER_ID = "formatterId"; //$NON-NLS-1$
+
public static void initializeDefaultValues(IPreferenceStore store) {
PreferenceConstants.initializeDefaultValues(store);