Skip to content

Commit 8981e22

Browse files
author
Paul Verest
committed
JavaScript Editor color preferences
1 parent 367aea4 commit 8981e22

File tree

6 files changed

+153
-10
lines changed

6 files changed

+153
-10
lines changed

chromedevtools/plugins/org.chromium.debug.ui/plugin.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,4 +514,21 @@
514514
</action>
515515
</actionSet>
516516
</extension>
517+
518+
<extension
519+
point="org.eclipse.core.runtime.preferences">
520+
<initializer
521+
class="org.chromium.debug.ui.preferences.PreferenceInitializer">
522+
</initializer>
523+
</extension>
524+
<extension
525+
point="org.eclipse.ui.preferencePages">
526+
<page
527+
category="org.nodeclipse.ui.preferences.NodePreferencePage"
528+
class="org.chromium.debug.ui.preferences.PreferencePage"
529+
id="org.chromium.debug.ui.preferences.PreferencePage"
530+
name="Chromium Debugger Editor">
531+
</page>
532+
</extension>
533+
517534
</plugin>

chromedevtools/plugins/org.chromium.debug.ui/src/org/chromium/debug/ui/editors/EditorColors.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
import java.util.HashMap;
88
import java.util.Map;
99

10+
//import org.chromium.debug.ui.Activator;
11+
import org.chromium.debug.ui.ChromiumDebugUIPlugin;
12+
import org.eclipse.jface.preference.PreferenceConverter;
1013
import org.eclipse.swt.graphics.Color;
1114
import org.eclipse.swt.graphics.RGB;
1215
import org.eclipse.swt.widgets.Display;
@@ -28,11 +31,11 @@ public static Color getColor(RGB rgb) {
2831
}
2932
return color;
3033
}
34+
public static Color getColor(String preference) {
35+
return getColor(PreferenceConverter.getColor(ChromiumDebugUIPlugin.getDefault().getPreferenceStore(), preference));
36+
}
3137

3238
private static Integer rgbToInteger(RGB rgb) {
33-
return
34-
((rgb.red & 0xFF) << 16) +
35-
((rgb.green & 0xFF) << 8) +
36-
(rgb.blue & 0xFF);
39+
return ((rgb.red & 0xFF) << 16) + ((rgb.green & 0xFF) << 8) + (rgb.blue & 0xFF);
3740
}
3841
}

chromedevtools/plugins/org.chromium.debug.ui/src/org/chromium/debug/ui/editors/JsCodeScanner.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
package org.chromium.debug.ui.editors;
66

7+
import org.chromium.debug.ui.ChromiumDebugUIPlugin;
8+
import org.chromium.debug.ui.preferences.PreferenceConstants;
79
import org.eclipse.jface.text.TextAttribute;
810
import org.eclipse.jface.text.rules.BufferedRuleBasedScanner;
911
import org.eclipse.jface.text.rules.EndOfLineRule;
@@ -29,10 +31,10 @@ public class JsCodeScanner extends BufferedRuleBasedScanner {
2931
private Token commentToken;
3032

3133
private final TextAttribute commentAttribute =
32-
new TextAttribute(EditorColors.getColor(new RGB(63, 127, 95)), null, SWT.NORMAL); //! hard-coded
34+
new TextAttribute(EditorColors.getColor(PreferenceConstants.KEY_COLOR_COMMENT), null, SWT.NORMAL);
3335

3436
private final TextAttribute jsDocAttribute =
35-
new TextAttribute(EditorColors.getColor(new RGB(127,127,159)), null, SWT.NORMAL); //! hard-coded
37+
new TextAttribute(EditorColors.getColor(PreferenceConstants.KEY_COLOR_DOC), null, SWT.NORMAL);
3638

3739
public JsCodeScanner() {
3840
createRules();
@@ -51,22 +53,23 @@ public TextAttribute getJsDocAttribute() {
5153
*/
5254
private void createRules() {
5355
Token keywordToken = new Token(
54-
new TextAttribute(EditorColors.getColor(new RGB(127, 0, 85)), null, SWT.BOLD)); //! hard-coded
56+
new TextAttribute(EditorColors.getColor(PreferenceConstants.KEY_COLOR_KEYWORD), null,
57+
ChromiumDebugUIPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.KEY_BOLD_KEYWORD) ? SWT.BOLD : SWT.NORMAL));
5558

5659
commentToken = new Token(commentAttribute);
5760

5861
Token jsDocToken = new Token(jsDocAttribute);
5962

6063
Token stringToken = new Token(
61-
new TextAttribute(EditorColors.getColor(new RGB(42, 0, 255)), null, SWT.NORMAL)); //! hard-coded
64+
new TextAttribute(EditorColors.getColor(PreferenceConstants.KEY_COLOR_STRING), null, SWT.NORMAL));
6265

6366
RGB blackRgb = new RGB(0, 0, 0);
6467

6568
Token numberToken = new Token(
66-
new TextAttribute(null, null, SWT.NORMAL)); //EditorColors.getColor(blackRgb) //! hard-coded
69+
new TextAttribute(EditorColors.getColor(PreferenceConstants.KEY_COLOR_NUMBER), null, SWT.NORMAL));
6770

6871
Token normalToken = new Token(
69-
new TextAttribute(null, null, SWT.NORMAL)); //EditorColors.getColor(blackRgb) //! hard-coded
72+
new TextAttribute(EditorColors.getColor(PreferenceConstants.KEY_COLOR_NORMAL), null, SWT.NORMAL));
7073
setDefaultReturnToken(normalToken);
7174

7275
setRules(new IRule[] {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package org.chromium.debug.ui.preferences;
2+
3+
import org.eclipse.swt.graphics.RGB;
4+
5+
/*
6+
* @author Benjamin gurok
7+
* @author Paul Verest
8+
*/
9+
public class PreferenceConstants {
10+
11+
public static final String PREFERENCES_PAGE = "org.nodeclipse.ui.preferences.NodePreferencePage";
12+
13+
public static final String KEY_COLOR_COMMENT = "color_comment";
14+
public static final String KEY_COLOR_DOC = "color_doc";
15+
public static final String KEY_COLOR_KEYWORD = "color_keyword";
16+
public static final String KEY_COLOR_STRING = "color_string";
17+
public static final String KEY_COLOR_NUMBER = "color_number";
18+
public static final String KEY_COLOR_NORMAL = "color_normal";
19+
20+
public static final String KEY_BOLD_KEYWORD = "bold_keyword";
21+
22+
public static final RGB DEFAULT_COLOR_COMMENT = new RGB(63, 127, 95);
23+
public static final RGB DEFAULT_COLOR_DOC = new RGB(127, 127, 159);
24+
public static final RGB DEFAULT_COLOR_KEYWORD = new RGB(127, 0, 85);
25+
public static final RGB DEFAULT_COLOR_STRING = new RGB(42, 0, 255);
26+
public static final RGB DEFAULT_COLOR_NUMBER = new RGB(0, 0, 0);
27+
public static final RGB DEFAULT_COLOR_NORMAL = new RGB(0, 0, 0);
28+
29+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package org.chromium.debug.ui.preferences;
2+
3+
import org.chromium.debug.ui.ChromiumDebugUIPlugin;
4+
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
5+
import org.eclipse.jface.preference.IPreferenceStore;
6+
import org.eclipse.jface.preference.PreferenceConverter;
7+
8+
/*
9+
* @author Benjamin gurok
10+
* @author Paul Verest
11+
*/
12+
public class PreferenceInitializer extends AbstractPreferenceInitializer {
13+
14+
@Override
15+
public void initializeDefaultPreferences() {
16+
IPreferenceStore store = ChromiumDebugUIPlugin.getDefault().getPreferenceStore();
17+
PreferenceConverter.setDefault(store, PreferenceConstants.KEY_COLOR_COMMENT, PreferenceConstants.DEFAULT_COLOR_COMMENT);
18+
PreferenceConverter.setDefault(store, PreferenceConstants.KEY_COLOR_DOC, PreferenceConstants.DEFAULT_COLOR_DOC);
19+
PreferenceConverter.setDefault(store, PreferenceConstants.KEY_COLOR_KEYWORD, PreferenceConstants.DEFAULT_COLOR_KEYWORD);
20+
PreferenceConverter.setDefault(store, PreferenceConstants.KEY_COLOR_STRING, PreferenceConstants.DEFAULT_COLOR_STRING);
21+
PreferenceConverter.setDefault(store, PreferenceConstants.KEY_COLOR_NUMBER, PreferenceConstants.DEFAULT_COLOR_NUMBER);
22+
PreferenceConverter.setDefault(store, PreferenceConstants.KEY_COLOR_NORMAL, PreferenceConstants.DEFAULT_COLOR_NORMAL);
23+
store.setDefault(PreferenceConstants.KEY_BOLD_KEYWORD, true); }
24+
25+
}
26+
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package org.chromium.debug.ui.preferences;
2+
3+
import org.chromium.debug.ui.ChromiumDebugUIPlugin;
4+
import org.eclipse.jface.preference.BooleanFieldEditor;
5+
import org.eclipse.jface.preference.ColorFieldEditor;
6+
import org.eclipse.jface.preference.FieldEditorPreferencePage;
7+
import org.eclipse.jface.preference.IPreferenceStore;
8+
import org.eclipse.swt.widgets.Composite;
9+
import org.eclipse.ui.IWorkbench;
10+
import org.eclipse.ui.IWorkbenchPreferencePage;
11+
//+
12+
13+
/**
14+
* @author Benjamin gurok
15+
* @author Paul Verest
16+
*/
17+
public class PreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
18+
19+
private ColorFieldEditor colorComment;
20+
private ColorFieldEditor colorDoc;
21+
private ColorFieldEditor colorKeyword;
22+
private ColorFieldEditor colorString;
23+
private ColorFieldEditor colorNumber;
24+
private ColorFieldEditor colorNormal;
25+
private BooleanFieldEditor boldAttributeKeyword;
26+
27+
public PreferencePage() {
28+
super(GRID);
29+
IPreferenceStore store = ChromiumDebugUIPlugin.getDefault().getPreferenceStore();
30+
setPreferenceStore(store);
31+
setDescription("Chromium Debugger JavaScript Editor Settings");
32+
}
33+
@Override
34+
public void init(IWorkbench workbench) {
35+
}
36+
37+
@Override
38+
protected void createFieldEditors() {
39+
40+
Composite parent = getFieldEditorParent();
41+
42+
colorComment = new ColorFieldEditor(PreferenceConstants.KEY_COLOR_COMMENT, "Comment color:", parent);
43+
addField(colorComment);
44+
45+
colorDoc = new ColorFieldEditor(PreferenceConstants.KEY_COLOR_DOC, "Doc color:", parent);
46+
addField(colorDoc);
47+
48+
colorKeyword = new ColorFieldEditor(PreferenceConstants.KEY_COLOR_KEYWORD, "Keyword color:", parent);
49+
addField(colorKeyword);
50+
51+
boldAttributeKeyword = new BooleanFieldEditor(PreferenceConstants.KEY_BOLD_KEYWORD, "Bold keywords", parent);
52+
addField(boldAttributeKeyword);
53+
54+
colorString = new ColorFieldEditor(PreferenceConstants.KEY_COLOR_STRING, "String color:", parent);
55+
addField(colorString);
56+
57+
colorNumber = new ColorFieldEditor(PreferenceConstants.KEY_COLOR_NUMBER, "Number color:", parent);
58+
addField(colorNumber);
59+
60+
colorNormal = new ColorFieldEditor(PreferenceConstants.KEY_COLOR_NORMAL, "Normal text color:", parent);
61+
addField(colorNormal);
62+
}
63+
64+
65+
}

0 commit comments

Comments
 (0)