11/*******************************************************************************
2- * Copyright (c) 2022, 2023 Red Hat Inc. and others.
2+ * Copyright (c) 2022, 2026 Red Hat Inc. and others.
33 *
44 * This program and the accompanying materials are made
55 * available under the terms of the Eclipse Public License 2.0
@@ -170,25 +170,24 @@ private void removePropertyChangeListenerIfNeed() {
170170 @ Override
171171 public void propertyChange (PropertyChangeEvent event ) {
172172 if (isAffected (event )) {
173- LanguageServerDefinition languageServerDefinition = getLanguageServerDefinition ();
174- @ SuppressWarnings ("rawtypes" )
173+ LanguageServerDefinition languageServerDefinition = getLanguageServerDefinition ();
175174 DidChangeConfigurationParams params = new DidChangeConfigurationParams (createSettings ());
176175
177176 /*
178- * Fan-out strategy and rationale
179- * --------------------------------
180- * We must deliver didChangeConfiguration to every running instance of the
181- * language server for this provider's id, regardless of how LSP4E can find it.
182- * LSP4E discovery varies by scope, so we notify in 3 passes and de-duplicate:
183- * 1) Workspace-wide (null project): catches singleton or workspace-folder-aware servers.
184- * 2) Per-project: picks up per-project servers that don't expose workspace folders (eg JSTS).
185- * 3) Per-document (open editors): covers files outside the workspace or not yet tied to a project.
177+ * Fan-out strategy and rationale -------------------------------- We must
178+ * deliver didChangeConfiguration to every running instance of the language
179+ * server for this provider's id, regardless of how LSP4E can find it. LSP4E
180+ * discovery varies by scope, so we notify in 3 passes and de-duplicate: 1)
181+ * Workspace-wide (null project): catches singleton or workspace-folder-aware
182+ * servers. 2) Per- project: picks up per-project servers that don't expose
183+ * workspace folders (eg JSTS). 3) Per-document (open editors): covers files
184+ * outside the workspace or not yet tied to a project.
186185 *
187186 * Note: withPreferredServer(...) only reorders candidates; it does not filter.
188187 * We therefore compare wrapper.serverDefinition for equality and track already
189- * notified LanguageServer proxies to avoid duplicate notifications across scopes.
190- * excludeInactive() is intentional to avoid starting servers as a side-effect
191- * of a preference change.
188+ * notified LanguageServer proxies to avoid duplicate notifications across
189+ * scopes. excludeInactive() is intentional to avoid starting servers as a
190+ * side-effect of a preference change.
192191 */
193192
194193 final Set <LanguageServer > notifiedServers = ConcurrentHashMap .newKeySet ();
@@ -202,14 +201,16 @@ public void propertyChange(PropertyChangeEvent event) {
202201 return CompletableFuture .completedFuture (null );
203202 });
204203
205- // 2) Per-project: include servers that don't support workspace folders (they won't be returned by forProject(null))
204+ // 2) Per-project: include servers that don't support workspace folders (they
205+ // won't be returned by forProject(null))
206206 for (final IProject project : ResourcesPlugin .getWorkspace ().getRoot ().getProjects ()) {
207207 if (!project .isOpen ())
208208 continue ;
209209
210210 LanguageServers .forProject (project ).withPreferredServer (languageServerDefinition ).excludeInactive ()
211211 .collectAll ((wrapper , server ) -> {
212- if (languageServerDefinition .equals (wrapper .serverDefinition ) && notifiedServers .add (server )) {
212+ if (languageServerDefinition .equals (wrapper .serverDefinition )
213+ && notifiedServers .add (server )) {
213214 server .getWorkspaceService ().didChangeConfiguration (params );
214215 }
215216 return CompletableFuture .completedFuture (null );
@@ -220,7 +221,7 @@ public void propertyChange(PropertyChangeEvent event) {
220221 for (final IWorkbenchWindow win : PlatformUI .getWorkbench ().getWorkbenchWindows ()) {
221222 for (final IWorkbenchPage page : win .getPages ()) {
222223 for (final IEditorReference ref : page .getEditorReferences ()) {
223- final IEditorPart editor = ref .getEditor (false ); // do not restore unopened editors
224+ final IEditorPart editor = ref .getEditor (false ); // do not restore unopened editors
224225 if (editor == null )
225226 continue ;
226227
@@ -230,7 +231,8 @@ public void propertyChange(PropertyChangeEvent event) {
230231
231232 LanguageServers .forDocument (doc ).withPreferredServer (languageServerDefinition )
232233 .collectAll ((wrapper , server ) -> {
233- if (languageServerDefinition .equals (wrapper .serverDefinition ) && notifiedServers .add (server )) {
234+ if (languageServerDefinition .equals (wrapper .serverDefinition )
235+ && notifiedServers .add (server )) {
234236 server .getWorkspaceService ().didChangeConfiguration (params );
235237 }
236238 return CompletableFuture .completedFuture (null );
0 commit comments