[*-Editor] Adapt to refactored TextStyleManager
diff --git a/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/base/ext/ui/text/CommentScanner.java b/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/base/ext/ui/text/CommentScanner.java
index 7be609f..8b7c752 100644
--- a/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/base/ext/ui/text/CommentScanner.java
+++ b/r/org.eclipse.statet.ide.ui/src/org/eclipse/statet/base/ext/ui/text/CommentScanner.java
@@ -14,6 +14,8 @@
package org.eclipse.statet.base.ext.ui.text;
+import static org.eclipse.statet.jcommons.lang.ObjectUtils.nonNullLateInit;
+
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -23,10 +25,12 @@
import org.eclipse.jface.text.rules.IWordDetector;
import org.eclipse.jface.text.rules.WordRule;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+
import org.eclipse.statet.ecommons.preferences.core.PreferenceAccess;
import org.eclipse.statet.ecommons.text.ui.presentation.AbstractRuleBasedScanner;
import org.eclipse.statet.ecommons.text.ui.presentation.ITextPresentationConstants;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.presentation.TextStyleManager;
import org.eclipse.statet.ecommons.ui.ISettingsChangedHandler;
import org.eclipse.statet.base.core.preferences.TaskTagsPreferences;
@@ -35,6 +39,7 @@
/**
* Scanner for comments. Provides support for task tags.
*/
+@NonNullByDefault
public class CommentScanner extends AbstractRuleBasedScanner implements ISettingsChangedHandler {
@@ -72,7 +77,7 @@
}
- private TaskTagRule taskTagRule;
+ private TaskTagRule taskTagRule= nonNullLateInit();
private final String commentTokenKey;
private final String taskTokenKey;
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ConsolePreviewSourceViewerConfiguration.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ConsolePreviewSourceViewerConfiguration.java
index 01894e7..f6a0653 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ConsolePreviewSourceViewerConfiguration.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ConsolePreviewSourceViewerConfiguration.java
@@ -23,7 +23,7 @@
import org.eclipse.statet.ecommons.text.core.sections.BasicDocContentSections;
import org.eclipse.statet.ecommons.text.core.sections.DocContentSections;
import org.eclipse.statet.ecommons.text.ui.presentation.SingleTokenScanner;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.settings.PreferenceStoreTextStyleManager;
import org.eclipse.statet.ltk.ui.sourceediting.SourceEditorViewerConfiguration;
@@ -46,7 +46,7 @@
public ConsolePreviewSourceViewerConfiguration(final int flags,
- final IPreferenceStore preferenceStore, final TextStyleManager textStyles) {
+ final IPreferenceStore preferenceStore, final PreferenceStoreTextStyleManager textStyles) {
super(CONTENT_INFO, flags, null);
setup(preferenceStore, null, null);
@@ -61,7 +61,7 @@
@Override
protected void initScanners() {
- final TextStyleManager textStyles= getTextStyles();
+ final var textStyles= getTextStyles();
for (final String contentType : getConfiguredContentTypes(null)) {
addScanner(contentType,
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ConsoleTextStylesPreferencePage.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ConsoleTextStylesPreferencePage.java
index d8818f9..013d4e8 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ConsoleTextStylesPreferencePage.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/preferences/ConsoleTextStylesPreferencePage.java
@@ -26,7 +26,7 @@
import org.eclipse.statet.ecommons.preferences.ui.ScopedPreferenceStore;
import org.eclipse.statet.ecommons.text.PartitionerDocumentSetupParticipant;
import org.eclipse.statet.ecommons.text.ui.presentation.AbstractTextStylesConfigurationBlock;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.settings.PreferenceStoreTextStyleManager;
import org.eclipse.statet.ltk.ui.sourceediting.SourceEditorViewerConfiguration;
import org.eclipse.statet.ltk.ui.util.CombinedPreferenceStore;
@@ -127,7 +127,7 @@
@Override
protected SourceEditorViewerConfiguration getSourceEditorViewerConfiguration(
- final IPreferenceStore preferenceStore, final TextStyleManager textStyles) {
+ final IPreferenceStore preferenceStore, final PreferenceStoreTextStyleManager textStyles) {
return new ConsolePreviewSourceViewerConfiguration(0,
CombinedPreferenceStore.createStore(
preferenceStore,
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RIdentifierGroups.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RIdentifierGroups.java
index 9ad4097..cfec381 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RIdentifierGroups.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RIdentifierGroups.java
@@ -14,9 +14,13 @@
package org.eclipse.statet.internal.r.ui;
-import java.util.Arrays;
import java.util.Map;
+import org.eclipse.statet.jcommons.collections.ImCollections;
+import org.eclipse.statet.jcommons.collections.ImList;
+import org.eclipse.statet.jcommons.lang.NonNull;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+
import org.eclipse.statet.ecommons.preferences.AbstractPreferencesModelObject;
import org.eclipse.statet.ecommons.preferences.core.Preference;
import org.eclipse.statet.ecommons.preferences.core.Preference.StringArrayPref;
@@ -30,17 +34,18 @@
/**
*
*/
+@NonNullByDefault
public class RIdentifierGroups extends AbstractPreferencesModelObject {
- public final static String GROUP_ID = "r.editor/identifiergroups"; //$NON-NLS-1$
+ public final static String GROUP_ID= "r.editor/identifiergroups"; //$NON-NLS-1$
- private String[] fIdentifiersItemsAssignment;
- private String[] fIdentifiersItemsLogical;
- private String[] fIdentifiersItemsFlowcontrol;
- private String[] fIdentifiersItemsCustom1;
- private String[] fIdentifiersItemsCustom2;
+ private ImList<String> identifiersItemsAssignment= ImCollections.emptyList();
+ private ImList<String> identifiersItemsLogical= ImCollections.emptyList();
+ private ImList<String> identifiersItemsFlowcontrol= ImCollections.emptyList();
+ private ImList<String> identifiersItemsCustom1= ImCollections.emptyList();
+ private ImList<String> identifiersItemsCustom2= ImCollections.emptyList();
public RIdentifierGroups() {
@@ -58,17 +63,22 @@
@Override
public void load(final PreferenceAccess prefs) {
- final RSymbolComparator comparator = new RSymbolComparator();
- fIdentifiersItemsAssignment = loadValues(prefs, RUIPreferenceConstants.R.TS_IDENTIFIER_SUB_ASSIGNMENT_ITEMS);
- Arrays.sort(fIdentifiersItemsAssignment, comparator);
- fIdentifiersItemsLogical = loadValues(prefs, RUIPreferenceConstants.R.TS_IDENTIFIER_SUB_LOGICAL_ITEMS);
- Arrays.sort(fIdentifiersItemsLogical, comparator);
- fIdentifiersItemsFlowcontrol = loadValues(prefs, RUIPreferenceConstants.R.TS_IDENTIFIER_SUB_FLOWCONTROL_ITEMS);
- Arrays.sort(fIdentifiersItemsFlowcontrol, comparator);
- fIdentifiersItemsCustom1 = loadValues(prefs, RUIPreferenceConstants.R.TS_IDENTIFIER_SUB_CUSTOM1_ITEMS);
- Arrays.sort(fIdentifiersItemsCustom1, comparator);
- fIdentifiersItemsCustom2 = loadValues(prefs, RUIPreferenceConstants.R.TS_IDENTIFIER_SUB_CUSTOM2_ITEMS);
- Arrays.sort(fIdentifiersItemsCustom2, comparator);
+ final RSymbolComparator comparator= new RSymbolComparator();
+ this.identifiersItemsAssignment= ImCollections.newList(
+ loadValues(prefs, RUIPreferenceConstants.R.TS_IDENTIFIER_SUB_ASSIGNMENT_ITEMS),
+ comparator );
+ this.identifiersItemsLogical= ImCollections.newList(
+ loadValues(prefs, RUIPreferenceConstants.R.TS_IDENTIFIER_SUB_LOGICAL_ITEMS),
+ comparator );
+ this.identifiersItemsFlowcontrol= ImCollections.newList(
+ loadValues(prefs, RUIPreferenceConstants.R.TS_IDENTIFIER_SUB_FLOWCONTROL_ITEMS),
+ comparator );
+ this.identifiersItemsCustom1= ImCollections.newList(
+ loadValues(prefs, RUIPreferenceConstants.R.TS_IDENTIFIER_SUB_CUSTOM1_ITEMS),
+ comparator );
+ this.identifiersItemsCustom2= ImCollections.newList(
+ loadValues(prefs, RUIPreferenceConstants.R.TS_IDENTIFIER_SUB_CUSTOM2_ITEMS),
+ comparator );
}
@Override
@@ -76,30 +86,30 @@
return map;
}
- private final String[] loadValues(final PreferenceAccess prefs, final String key) {
- final Preference<String[]> pref = new StringArrayPref(RUI.BUNDLE_ID, key);
+ private final @NonNull String[] loadValues(final PreferenceAccess prefs, final String key) {
+ final Preference<String[]> pref= new StringArrayPref(RUI.BUNDLE_ID, key);
return prefs.getPreferenceValue(pref);
}
- public String[] getAssignmentIdentifiers() {
- return fIdentifiersItemsAssignment;
+ public ImList<String> getAssignmentIdentifiers() {
+ return this.identifiersItemsAssignment;
}
- public String[] getLogicalIdentifiers() {
- return fIdentifiersItemsLogical;
+ public ImList<String> getLogicalIdentifiers() {
+ return this.identifiersItemsLogical;
}
- public String[] getFlowcontrolIdentifiers() {
- return fIdentifiersItemsFlowcontrol;
+ public ImList<String> getFlowcontrolIdentifiers() {
+ return this.identifiersItemsFlowcontrol;
}
- public String[] getCustom1Identifiers() {
- return fIdentifiersItemsCustom1;
+ public ImList<String> getCustom1Identifiers() {
+ return this.identifiersItemsCustom1;
}
- public String[] getCustom2Identifiers() {
- return fIdentifiersItemsCustom2;
+ public ImList<String> getCustom2Identifiers() {
+ return this.identifiersItemsCustom2;
}
}
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RUIPlugin.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RUIPlugin.java
index 79c4025..2aea5f5 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RUIPlugin.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/RUIPlugin.java
@@ -46,7 +46,8 @@
import org.eclipse.statet.ecommons.preferences.PreferencesUtil;
import org.eclipse.statet.ecommons.preferences.core.PreferenceAccess;
import org.eclipse.statet.ecommons.preferences.core.util.PreferenceUtils;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.settings.JFaceTextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.settings.PreferenceStoreTextStyleManager;
import org.eclipse.statet.ecommons.ui.util.ImageDescriptorRegistry;
import org.eclipse.statet.ecommons.ui.util.ImageRegistryUtil;
@@ -145,8 +146,8 @@
private RFragmentDocumentProvider rFragmentDocumentProvider;
private RdDocumentProvider rdDocumentProvider;
- private TextStyleManager rTextStyles;
- private TextStyleManager rdTextStyles;
+ private PreferenceStoreTextStyleManager rTextStyles;
+ private PreferenceStoreTextStyleManager rdTextStyles;
private RIdentifierGroups identifierGroups;
private REditorOptions editorSettings;
@@ -388,24 +389,24 @@
return null;
}
- public synchronized TextStyleManager getRTextStyles() {
+ public synchronized PreferenceStoreTextStyleManager getRTextStyles() {
if (this.rTextStyles == null) {
if (!this.started) {
throw new IllegalStateException("Plug-in is not started.");
}
- this.rTextStyles= new TextStyleManager(getPreferenceStore(),
+ this.rTextStyles= new JFaceTextStyleManager(getPreferenceStore(),
RUIPreferenceConstants.R.TS_GROUP_ID );
PreferencesUtil.getSettingsChangeNotifier().addManageListener(this.rTextStyles);
}
return this.rTextStyles;
}
- public synchronized TextStyleManager getRdTextStyles() {
+ public synchronized PreferenceStoreTextStyleManager getRdTextStyles() {
if (this.rdTextStyles == null) {
if (!this.started) {
throw new IllegalStateException("Plug-in is not started.");
}
- this.rdTextStyles= new TextStyleManager(getPreferenceStore(),
+ this.rdTextStyles= new JFaceTextStyleManager(getPreferenceStore(),
RUIPreferenceConstants.Rd.TS_GROUP_ID );
PreferencesUtil.getSettingsChangeNotifier().addManageListener(this.rdTextStyles);
}
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/preferences/RTextStylesPreferencePage.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/preferences/RTextStylesPreferencePage.java
index 266ac0c..a776e0d 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/preferences/RTextStylesPreferencePage.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/preferences/RTextStylesPreferencePage.java
@@ -29,7 +29,7 @@
import org.eclipse.statet.ecommons.preferences.ui.ConfigurationBlock;
import org.eclipse.statet.ecommons.preferences.ui.ConfigurationBlockPreferencePage;
import org.eclipse.statet.ecommons.text.ui.presentation.AbstractTextStylesConfigurationBlock;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.settings.PreferenceStoreTextStyleManager;
import org.eclipse.statet.internal.r.ui.RUIPlugin;
import org.eclipse.statet.ltk.ui.LtkUIPreferences;
@@ -246,7 +246,7 @@
@Override
protected SourceEditorViewerConfiguration getSourceEditorViewerConfiguration(
- final IPreferenceStore preferenceStore, final TextStyleManager textStyles) {
+ final IPreferenceStore preferenceStore, final PreferenceStoreTextStyleManager textStyles) {
return new RSourceViewerConfiguration(RDocumentContentInfo.INSTANCE, 0,
null,
RCore.getDefaultsAccess(),
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/preferences/RdSyntaxColoringPreferencePage.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/preferences/RdSyntaxColoringPreferencePage.java
index 0b95e2e..fa26d30 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/preferences/RdSyntaxColoringPreferencePage.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/preferences/RdSyntaxColoringPreferencePage.java
@@ -21,7 +21,7 @@
import org.eclipse.statet.ecommons.preferences.ui.ConfigurationBlock;
import org.eclipse.statet.ecommons.preferences.ui.ConfigurationBlockPreferencePage;
import org.eclipse.statet.ecommons.text.ui.presentation.AbstractTextStylesConfigurationBlock;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.settings.PreferenceStoreTextStyleManager;
import org.eclipse.statet.internal.r.ui.RUIPlugin;
import org.eclipse.statet.ltk.ui.LtkUIPreferences;
@@ -122,7 +122,7 @@
@Override
protected SourceEditorViewerConfiguration getSourceEditorViewerConfiguration(
- final IPreferenceStore preferenceStore, final TextStyleManager textStyles) {
+ final IPreferenceStore preferenceStore, final PreferenceStoreTextStyleManager textStyles) {
return new RdSourceViewerConfiguration(0, null, RCore.getDefaultsAccess(),
CombinedPreferenceStore.createStore(
preferenceStore,
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpRCodeScanner.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpRCodeScanner.java
index 1234766..6bbcbc5 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpRCodeScanner.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/internal/r/ui/rhelp/RHelpRCodeScanner.java
@@ -19,6 +19,7 @@
import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
import org.eclipse.statet.jcommons.text.core.util.HtmlStripParserInput;
import org.eclipse.statet.ecommons.text.ui.settings.CssTextStyleManager;
@@ -27,6 +28,7 @@
import org.eclipse.statet.r.ui.text.r.RDefaultTextStyleScanner;
+@NonNullByDefault
public class RHelpRCodeScanner extends RDefaultTextStyleScanner {
@@ -41,12 +43,12 @@
}
public String getDefaultStyle() {
- return (String) getTextStyles().getToken(null).getData();
+ return (String)getTextStyles().getToken(null).getData();
}
@Override
public void handleSettingsChanged(final Set<String> groupIds, final Map<String, Object> options) {
- getTextStyles().handleSettingsChanged(groupIds, options);
+ ((CssTextStyleManager)getTextStyles()).handleSettingsChanged(groupIds, options);
super.handleSettingsChanged(groupIds, options);
}
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/editors/RdSourceViewerConfiguration.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/editors/RdSourceViewerConfiguration.java
index 452a399..12620f0 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/editors/RdSourceViewerConfiguration.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/editors/RdSourceViewerConfiguration.java
@@ -28,7 +28,7 @@
import org.eclipse.statet.ecommons.text.ICharPairMatcher;
import org.eclipse.statet.ecommons.text.PairMatcher;
import org.eclipse.statet.ecommons.text.ui.presentation.SingleTokenScanner;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.settings.PreferenceStoreTextStyleManager;
import org.eclipse.statet.ecommons.ui.ISettingsChangedHandler;
import org.eclipse.statet.base.ext.ui.text.CommentScanner;
@@ -70,7 +70,7 @@
public RdSourceViewerConfiguration(final int flags,
final SourceEditor sourceEditor,
final RCoreAccess access,
- final IPreferenceStore preferenceStore, final TextStyleManager textStyles) {
+ final IPreferenceStore preferenceStore, final PreferenceStoreTextStyleManager textStyles) {
super(RdDocumentContentInfo.INSTANCE, flags, sourceEditor);
setCoreAccess(access);
@@ -93,7 +93,7 @@
@Override
protected void initScanners() {
- final TextStyleManager textStyles= getTextStyles();
+ final var textStyles= getTextStyles();
addScanner(RDocumentConstants.RDOC_DEFAULT_CONTENT_TYPE,
new RdCodeScanner(textStyles) );
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/sourceediting/RSourceViewerConfiguration.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/sourceediting/RSourceViewerConfiguration.java
index 96ea7f2..50df850 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/sourceediting/RSourceViewerConfiguration.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/sourceediting/RSourceViewerConfiguration.java
@@ -37,7 +37,7 @@
import org.eclipse.statet.ecommons.text.IIndentSettings;
import org.eclipse.statet.ecommons.text.core.sections.DocContentSections;
import org.eclipse.statet.ecommons.text.ui.presentation.SingleTokenScanner;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.settings.PreferenceStoreTextStyleManager;
import org.eclipse.statet.ecommons.ui.ISettingsChangedHandler;
import org.eclipse.statet.base.ext.ui.text.CommentScanner;
@@ -100,7 +100,7 @@
public RSourceViewerConfiguration(final DocContentSections documentContentInfo, final int flags,
final RSourceEditor sourceEditor,
final RCoreAccess access,
- final IPreferenceStore preferenceStore, final TextStyleManager textStyles) {
+ final IPreferenceStore preferenceStore, final PreferenceStoreTextStyleManager textStyles) {
super(documentContentInfo, flags, sourceEditor);
setCoreAccess(access);
setup((preferenceStore != null) ? preferenceStore : RUIPlugin.getInstance().getEditorPreferenceStore(),
@@ -127,7 +127,7 @@
@Override
protected void initScanners() {
- final TextStyleManager textStyles= getTextStyles();
+ final var textStyles= getTextStyles();
addScanner(RDocumentConstants.R_DEFAULT_CONTENT_TYPE,
new RDefaultTextStyleScanner(textStyles) );
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RDefaultTextStyleScanner.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RDefaultTextStyleScanner.java
index c0ac619..6c1c51f 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RDefaultTextStyleScanner.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RDefaultTextStyleScanner.java
@@ -14,6 +14,8 @@
package org.eclipse.statet.r.ui.text.r;
+import static org.eclipse.statet.jcommons.collections.CollectionUtils.putAll;
+
import java.util.EnumMap;
import java.util.HashMap;
import java.util.Map;
@@ -24,11 +26,12 @@
import org.eclipse.jface.text.rules.ITokenScanner;
import org.eclipse.jface.text.rules.Token;
-import org.eclipse.statet.jcommons.collections.ImList;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+import org.eclipse.statet.jcommons.lang.Nullable;
import org.eclipse.statet.ecommons.text.core.input.DocumentParserInput;
import org.eclipse.statet.ecommons.text.ui.presentation.ITextPresentationConstants;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.presentation.TextStyleManager;
import org.eclipse.statet.ecommons.ui.ISettingsChangedHandler;
import org.eclipse.statet.internal.r.ui.RIdentifierGroups;
@@ -41,27 +44,14 @@
* Text token scanner for R code.
* Mainly for R default partitions, but also works for other partitions (without special styles).
*
- * Version 2 uses RLexer instead of rules to parse the sources.
+ * The implementation uses RLexer instead of rules to parse the sources.
*/
+@NonNullByDefault
public class RDefaultTextStyleScanner extends DocumentParserInput implements ITokenScanner, ISettingsChangedHandler {
- protected static void putAll(final Map<String, IToken> map, final String[] symbols, final IToken token) {
- for (int i= 0; i < symbols.length; i++) {
- map.put(symbols[i], token);
- }
- }
-
- protected static void putAll(final Map<RTerminal, IToken> map, final ImList<RTerminal> types,
- final IToken token) {
- for (final RTerminal terminal : types) {
- map.put(terminal, token);
- }
- }
-
-
private final RLexer lexer;
- private RTerminal lexerToken;
+ private @Nullable RTerminal lexerToken;
private final EnumMap<RTerminal, IToken> tokens;
private final IToken defaultToken;
@@ -140,7 +130,7 @@
}
protected IToken getTokenFromScannerToken() {
- IToken token;
+ @Nullable IToken token;
if (this.lexerToken == RTerminal.SYMBOL) {
final String text= this.lexer.getText();
if (text != null) {
@@ -187,26 +177,44 @@
protected void registerTokens(final EnumMap<RTerminal,IToken> map) {
map.put(RTerminal.EOF, Token.EOF);
- putAll(map, IRTextTokens.FLOWCONTROL, getToken(IRTextTokens.FLOWCONTROL_KEY));
- putAll(map, IRTextTokens.GROUPING, getToken(IRTextTokens.GROUPING_KEY));
- putAll(map, IRTextTokens.SEPARATOR, getToken(IRTextTokens.SEPARATOR_KEY));
- putAll(map, IRTextTokens.ASSIGN, getToken(IRTextTokens.ASSIGN_KEY));
- putAll(map, IRTextTokens.ASSIGN_SUB_EQUAL, getToken(IRTextTokens.ASSIGN_SUB_EQUAL_KEY));
- putAll(map, IRTextTokens.ASSIGN_SUB_PIPE, getToken(IRTextTokens.ASSIGN_SUB_PIPE_KEY));
- putAll(map, IRTextTokens.OP, getToken(IRTextTokens.OP_KEY));
- putAll(map, IRTextTokens.OP_SUB_LOGICAL, getToken(IRTextTokens.OP_SUB_LOGICAL_KEY));
- putAll(map, IRTextTokens.OP_SUB_RELATIONAL, getToken(IRTextTokens.OP_SUB_RELATIONAL_KEY));
- putAll(map, IRTextTokens.SUBACCESS, getToken(IRTextTokens.SUBACCESS_KEY));
- putAll(map, IRTextTokens.NSGET, getToken(IRTextTokens.SUBACCESS_KEY));
+ putAll(map, IRTextTokens.FLOWCONTROL,
+ getToken(IRTextTokens.FLOWCONTROL_KEY) );
+ putAll(map, IRTextTokens.GROUPING,
+ getToken(IRTextTokens.GROUPING_KEY) );
+ putAll(map, IRTextTokens.SEPARATOR,
+ getToken(IRTextTokens.SEPARATOR_KEY) );
+ putAll(map, IRTextTokens.ASSIGN,
+ getToken(IRTextTokens.ASSIGN_KEY) );
+ putAll(map, IRTextTokens.ASSIGN_SUB_EQUAL,
+ getToken(IRTextTokens.ASSIGN_SUB_EQUAL_KEY) );
+ putAll(map, IRTextTokens.ASSIGN_SUB_PIPE,
+ getToken(IRTextTokens.ASSIGN_SUB_PIPE_KEY) );
+ putAll(map, IRTextTokens.OP,
+ getToken(IRTextTokens.OP_KEY) );
+ putAll(map, IRTextTokens.OP_SUB_LOGICAL,
+ getToken(IRTextTokens.OP_SUB_LOGICAL_KEY) );
+ putAll(map, IRTextTokens.OP_SUB_RELATIONAL,
+ getToken(IRTextTokens.OP_SUB_RELATIONAL_KEY) );
+ putAll(map, IRTextTokens.SUBACCESS,
+ getToken(IRTextTokens.SUBACCESS_KEY) );
+ putAll(map, IRTextTokens.NSGET,
+ getToken(IRTextTokens.SUBACCESS_KEY) );
- putAll(map, IRTextTokens.SPECIALCONST, getToken(IRTextTokens.SPECIALCONST_KEY));
- putAll(map, IRTextTokens.LOGICALCONST, getToken(IRTextTokens.LOGICALCONST_KEY));
- putAll(map, IRTextTokens.SYMBOL, getToken(IRTextTokens.SYMBOL_KEY));
+ putAll(map, IRTextTokens.SPECIALCONST,
+ getToken(IRTextTokens.SPECIALCONST_KEY) );
+ putAll(map, IRTextTokens.LOGICALCONST,
+ getToken(IRTextTokens.LOGICALCONST_KEY) );
+ putAll(map, IRTextTokens.SYMBOL,
+ getToken(IRTextTokens.SYMBOL_KEY) );
- putAll(map, IRTextTokens.NUM, getToken(IRTextTokens.NUM_KEY));
- putAll(map, IRTextTokens.NUM_SUB_INT, getToken(IRTextTokens.NUM_SUB_INT_KEY));
- putAll(map, IRTextTokens.NUM_SUB_CPLX, getToken(IRTextTokens.NUM_SUB_CPLX_KEY));
- putAll(map, IRTextTokens.UNDEFINED, getToken(IRTextTokens.UNDEFINED_KEY));
+ putAll(map, IRTextTokens.NUM,
+ getToken(IRTextTokens.NUM_KEY) );
+ putAll(map, IRTextTokens.NUM_SUB_INT,
+ getToken(IRTextTokens.NUM_SUB_INT_KEY) );
+ putAll(map, IRTextTokens.NUM_SUB_CPLX,
+ getToken(IRTextTokens.NUM_SUB_CPLX_KEY) );
+ putAll(map, IRTextTokens.UNDEFINED,
+ getToken(IRTextTokens.UNDEFINED_KEY) );
// usually not in default partition
putAll(map, IRTextTokens.STRING, getToken(IRTextTokens.STRING_KEY));
@@ -220,15 +228,15 @@
groups.getReadLock().lock();
try {
putAll(map, groups.getAssignmentIdentifiers(),
- getToken(IRTextTokens.SYMBOL_SUB_ASSIGN_KEY));
+ getToken(IRTextTokens.SYMBOL_SUB_ASSIGN_KEY) );
putAll(map, groups.getLogicalIdentifiers(),
- getToken(IRTextTokens.SYMBOL_SUB_LOGICAL_KEY));
+ getToken(IRTextTokens.SYMBOL_SUB_LOGICAL_KEY) );
putAll(map, groups.getFlowcontrolIdentifiers(),
- getToken(IRTextTokens.SYMBOL_SUB_FLOWCONTROL_KEY));
+ getToken(IRTextTokens.SYMBOL_SUB_FLOWCONTROL_KEY) );
putAll(map, groups.getCustom1Identifiers(),
- getToken(IRTextTokens.SYMBOL_SUB_CUSTOM1_KEY));
+ getToken(IRTextTokens.SYMBOL_SUB_CUSTOM1_KEY) );
putAll(map, groups.getCustom2Identifiers(),
- getToken(IRTextTokens.SYMBOL_SUB_CUSTOM2_KEY));
+ getToken(IRTextTokens.SYMBOL_SUB_CUSTOM2_KEY) );
}
finally {
groups.getReadLock().unlock();
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RInfixOperatorScanner.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RInfixOperatorScanner.java
index f120662..02cb1b1 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RInfixOperatorScanner.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RInfixOperatorScanner.java
@@ -19,13 +19,16 @@
import org.eclipse.jface.text.rules.IRule;
import org.eclipse.jface.text.rules.IToken;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+
import org.eclipse.statet.ecommons.text.ui.presentation.AbstractRuleBasedScanner;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.presentation.TextStyleManager;
/**
* Scanner for infix-operators.
*/
+@NonNullByDefault
public class RInfixOperatorScanner extends AbstractRuleBasedScanner {
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RoxygenScanner.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RoxygenScanner.java
index 80ed8a9..7032f0a 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RoxygenScanner.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/r/RoxygenScanner.java
@@ -22,8 +22,10 @@
import org.eclipse.jface.text.rules.IToken;
import org.eclipse.jface.text.rules.Token;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+
import org.eclipse.statet.ecommons.preferences.core.PreferenceAccess;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.presentation.TextStyleManager;
import org.eclipse.statet.base.ext.ui.text.CommentScanner;
@@ -31,22 +33,23 @@
/**
* Scanner for Roxygen comments.
*/
+@NonNullByDefault
public class RoxygenScanner extends CommentScanner {
private static class RoxygenTagRule implements IPredicateRule {
- private final IToken fTagToken;
- private final IToken fDefaultToken;
+ private final IToken tagToken;
+ private final IToken defaultToken;
public RoxygenTagRule(final IToken tagToken, final IToken defaultToken) {
- fTagToken = tagToken;
- fDefaultToken = defaultToken;
+ this.tagToken = tagToken;
+ this.defaultToken = defaultToken;
}
@Override
public IToken getSuccessToken() {
- return fTagToken;
+ return this.tagToken;
}
@Override
@@ -67,7 +70,7 @@
}
c = scanner.read();
if (c == '@') {
- return fDefaultToken;
+ return this.defaultToken;
}
}
else {
@@ -80,7 +83,7 @@
}
c = scanner.read();
}
- return fTagToken;
+ return this.tagToken;
}
private boolean isRoxygenTagChar(final int c) {
@@ -103,7 +106,7 @@
protected void createRules(final List<IRule> rules) {
super.createRules(rules);
- rules.add(new RoxygenTagRule(getToken(IRTextTokens.ROXYGEN_TAG_KEY), fDefaultReturnToken));
+ rules.add(new RoxygenTagRule(getToken(IRTextTokens.ROXYGEN_TAG_KEY), this.fDefaultReturnToken));
}
}
diff --git a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/rd/RdCodeScanner.java b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/rd/RdCodeScanner.java
index d98e7a2..d651ed5 100644
--- a/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/rd/RdCodeScanner.java
+++ b/r/org.eclipse.statet.r.ui/src/org/eclipse/statet/r/ui/text/rd/RdCodeScanner.java
@@ -25,7 +25,7 @@
import org.eclipse.statet.ecommons.text.DefaultWhitespaceDetector;
import org.eclipse.statet.ecommons.text.core.rules.OperatorRule;
import org.eclipse.statet.ecommons.text.ui.presentation.AbstractRuleBasedScanner;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.presentation.TextStyleManager;
import org.eclipse.statet.r.core.rdoc.RdTags;
diff --git a/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/redocs/tex/r/ui/sourceediting/LtxRweaveSourceViewerConfiguration.java b/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/redocs/tex/r/ui/sourceediting/LtxRweaveSourceViewerConfiguration.java
index efcba5f..a8ed122 100644
--- a/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/redocs/tex/r/ui/sourceediting/LtxRweaveSourceViewerConfiguration.java
+++ b/redocs/org.eclipse.statet.redocs.tex.r/src/org/eclipse/statet/redocs/tex/r/ui/sourceediting/LtxRweaveSourceViewerConfiguration.java
@@ -35,7 +35,7 @@
import org.eclipse.statet.ecommons.text.core.treepartitioner.TreePartition;
import org.eclipse.statet.ecommons.text.core.treepartitioner.TreePartitionUtils;
import org.eclipse.statet.ecommons.text.ui.presentation.SingleTokenScanner;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.presentation.TextStyleManager;
import org.eclipse.statet.docmlet.tex.core.TexCoreAccess;
import org.eclipse.statet.docmlet.tex.core.source.TexDocumentConstants;
@@ -191,7 +191,7 @@
@Override
protected void initScanners() {
- final TextStyleManager textStyles= this.rConfig.getTextStyles();
+ final var textStyles= this.rConfig.getTextStyles();
addScanner(TexRweaveDocumentConstants.RCHUNK_BASE_CONTENT_TYPE,
new SingleTokenScanner(textStyles, IRTextTokens.UNDEFINED_KEY ));
diff --git a/redocs/org.eclipse.statet.redocs.wikitext.r/src/org/eclipse/statet/redocs/wikitext/r/ui/sourceediting/WikidocRweaveSourceViewerConfiguration.java b/redocs/org.eclipse.statet.redocs.wikitext.r/src/org/eclipse/statet/redocs/wikitext/r/ui/sourceediting/WikidocRweaveSourceViewerConfiguration.java
index eddee00..20950f0 100644
--- a/redocs/org.eclipse.statet.redocs.wikitext.r/src/org/eclipse/statet/redocs/wikitext/r/ui/sourceediting/WikidocRweaveSourceViewerConfiguration.java
+++ b/redocs/org.eclipse.statet.redocs.wikitext.r/src/org/eclipse/statet/redocs/wikitext/r/ui/sourceediting/WikidocRweaveSourceViewerConfiguration.java
@@ -36,7 +36,7 @@
import org.eclipse.statet.ecommons.text.core.treepartitioner.TreePartition;
import org.eclipse.statet.ecommons.text.core.treepartitioner.TreePartitionUtils;
import org.eclipse.statet.ecommons.text.ui.presentation.SingleTokenScanner;
-import org.eclipse.statet.ecommons.text.ui.settings.TextStyleManager;
+import org.eclipse.statet.ecommons.text.ui.presentation.TextStyleManager;
import org.eclipse.statet.docmlet.tex.ui.sourceediting.LtxSourceViewerConfiguration;
import org.eclipse.statet.docmlet.wikitext.core.WikitextCoreAccess;
@@ -207,7 +207,7 @@
@Override
protected void initScanners() {
- final TextStyleManager textStyles= this.rConfig.getTextStyles();
+ final var textStyles= this.rConfig.getTextStyles();
addScanner(WikitextRweaveDocumentConstants.RCHUNK_BASE_CONTENT_TYPE,
new SingleTokenScanner(textStyles, IRTextTokens.UNDEFINED_KEY ));