1717import org .eclipse .core .runtime .IPath ;
1818import org .eclipse .core .runtime .preferences .IEclipsePreferences ;
1919import org .eclipse .core .runtime .preferences .IEclipsePreferences .IPreferenceChangeListener ;
20- import org .eclipse .core .runtime .preferences .InstanceScope ;
2120
2221import ts .eclipse .ide .core .TypeScriptCorePlugin ;
2322import ts .utils .StringUtils ;
@@ -40,15 +39,19 @@ public AbstractTypeScriptSettings(IProject project, String pluginId) {
4039 this .pluginId = pluginId ;
4140 getProjectPreferences ().addPreferenceChangeListener (this );
4241 getWorkspacePreferences ().addPreferenceChangeListener (this );
43- InstanceScope . INSTANCE . getNode ( pluginId ).addPreferenceChangeListener (this );
42+ getWorkspaceDefaultPreferences ( ).addPreferenceChangeListener (this );
4443 }
4544
4645 public String getStringPreferencesValue (String key , String def ) {
4746 String value = getProjectPreferencesValue (key , def );
48- if (value == null ) {
49- return getStringWorkspacePreferencesValue (key , def );
47+ if (value != null ) {
48+ return value ;
49+ }
50+ value = getStringWorkspacePreferencesValue (key , def );
51+ if (value != null ) {
52+ return value ;
5053 }
51- return value ;
54+ return getStringWorkspaceDefaultPreferencesValue ( key , def ) ;
5255 }
5356
5457 public String getProjectPreferencesValue (String key , String def ) {
@@ -61,12 +64,21 @@ public String getStringWorkspacePreferencesValue(String key, String def) {
6164 return node != null ? node .get (key , def ) : null ;
6265 }
6366
67+ public String getStringWorkspaceDefaultPreferencesValue (String key , String def ) {
68+ IEclipsePreferences node = getWorkspaceDefaultPreferences ();
69+ return node != null ? node .get (key , def ) : null ;
70+ }
71+
6472 public Boolean getBooleanPreferencesValue (String key , Boolean def ) {
6573 Boolean value = getProjectPreferencesValue (key , (Boolean ) null );
6674 if (value != null ) {
6775 return value ;
6876 }
69- return getBooleanWorkspacePreferencesValue (key , def );
77+ value = getBooleanWorkspacePreferencesValue (key , (Boolean ) null );
78+ if (value != null ) {
79+ return value ;
80+ }
81+ return getBooleanWorkspaceDefaultPreferencesValue (key , def );
7082 }
7183
7284 public Boolean getProjectPreferencesValue (String key , Boolean def ) {
@@ -79,6 +91,11 @@ public Boolean getBooleanWorkspacePreferencesValue(String key, Boolean def) {
7991 return getBoolean (node , key , def );
8092 }
8193
94+ public Boolean getBooleanWorkspaceDefaultPreferencesValue (String key , Boolean def ) {
95+ IEclipsePreferences node = getWorkspaceDefaultPreferences ();
96+ return getBoolean (node , key , def );
97+ }
98+
8299 private Boolean getBoolean (IEclipsePreferences preferences , String key , Boolean def ) {
83100 if (preferences == null ) {
84101 return def ;
@@ -99,7 +116,11 @@ public Integer getIntegerPreferencesValue(String key, Integer def) {
99116 if (value != null ) {
100117 return value ;
101118 }
102- return getIntegerWorkspacePreferencesValue (key , def );
119+ value = getIntegerWorkspacePreferencesValue (key , (Integer ) null );
120+ if (value != null ) {
121+ return value ;
122+ }
123+ return getIntegerWorkspaceDefaultPreferencesValue (key , def );
103124 }
104125
105126 public Integer getProjectPreferencesValue (String key , Integer def ) {
@@ -112,6 +133,11 @@ public Integer getIntegerWorkspacePreferencesValue(String key, Integer def) {
112133 return getInteger (node , key , def );
113134 }
114135
136+ public Integer getIntegerWorkspaceDefaultPreferencesValue (String key , Integer def ) {
137+ IEclipsePreferences node = getWorkspaceDefaultPreferences ();
138+ return getInteger (node , key , def );
139+ }
140+
115141 private Integer getInteger (IEclipsePreferences preferences , String key , Integer def ) {
116142 if (preferences == null ) {
117143 return def ;
@@ -135,10 +161,14 @@ protected IEclipsePreferences getWorkspacePreferences() {
135161 return WorkspaceTypeScriptSettingsHelper .getWorkspacePreferences (pluginId );
136162 }
137163
164+ protected IEclipsePreferences getWorkspaceDefaultPreferences () {
165+ return WorkspaceTypeScriptSettingsHelper .getWorkspaceDefaultPreferences (pluginId );
166+ }
167+
138168 public void dispose () {
139169 getProjectPreferences ().removePreferenceChangeListener (this );
140170 getWorkspacePreferences ().removePreferenceChangeListener (this );
141- InstanceScope . INSTANCE . getNode ( pluginId ).removePreferenceChangeListener (this );
171+ getWorkspaceDefaultPreferences ( ).removePreferenceChangeListener (this );
142172 }
143173
144174 public IProject getProject () {
0 commit comments