Skip to content

Commit db849ff

Browse files
Copilotnixel2007
andcommitted
Improve event handlers to use clientCapabilitiesHolder
- BSLTextDocumentService: Use clientCapabilitiesHolder with map chain instead of event params - DiagnosticProvider: Remove redundant null filters in Optional chain (map handles nulls) - Both use method references for cleaner code - Follows established patterns in codebase (e.g., WorkDoneProgressHelper) Co-authored-by: nixel2007 <1132840+nixel2007@users.noreply.github.com>
1 parent c8b9ab1 commit db849ff

File tree

2 files changed

+12
-10
lines changed

2 files changed

+12
-10
lines changed

src/main/java/com/github/_1c_syntax/bsl/languageserver/BSLTextDocumentService.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
import org.eclipse.lsp4j.CallHierarchyOutgoingCall;
5454
import org.eclipse.lsp4j.CallHierarchyOutgoingCallsParams;
5555
import org.eclipse.lsp4j.CallHierarchyPrepareParams;
56+
import org.eclipse.lsp4j.ClientCapabilities;
5657
import org.eclipse.lsp4j.CodeAction;
5758
import org.eclipse.lsp4j.CodeActionParams;
5859
import org.eclipse.lsp4j.CodeLens;
@@ -93,6 +94,7 @@
9394
import org.eclipse.lsp4j.SelectionRange;
9495
import org.eclipse.lsp4j.SelectionRangeParams;
9596
import org.eclipse.lsp4j.SymbolInformation;
97+
import org.eclipse.lsp4j.TextDocumentClientCapabilities;
9698
import org.eclipse.lsp4j.TextEdit;
9799
import org.eclipse.lsp4j.WorkspaceEdit;
98100
import org.eclipse.lsp4j.jsonrpc.messages.Either;
@@ -528,10 +530,10 @@ public void reset() {
528530
*/
529531
@EventListener
530532
public void handleInitializeEvent(LanguageServerInitializeRequestReceivedEvent event) {
531-
var capabilities = event.getParams().getCapabilities();
532-
if (capabilities != null && capabilities.getTextDocument() != null) {
533-
clientSupportsPullDiagnostics = capabilities.getTextDocument().getDiagnostic() != null;
534-
}
533+
clientSupportsPullDiagnostics = clientCapabilitiesHolder.getCapabilities()
534+
.map(ClientCapabilities::getTextDocument)
535+
.map(TextDocumentClientCapabilities::getDiagnostic)
536+
.isPresent();
535537
}
536538

537539
private void validate(DocumentContext documentContext) {

src/main/java/com/github/_1c_syntax/bsl/languageserver/providers/DiagnosticProvider.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,13 @@
2828
import com.github._1c_syntax.bsl.languageserver.events.LanguageServerInitializeRequestReceivedEvent;
2929
import lombok.RequiredArgsConstructor;
3030
import lombok.extern.slf4j.Slf4j;
31+
import org.eclipse.lsp4j.ClientCapabilities;
3132
import org.eclipse.lsp4j.Diagnostic;
33+
import org.eclipse.lsp4j.DiagnosticWorkspaceCapabilities;
3234
import org.eclipse.lsp4j.DocumentDiagnosticReport;
3335
import org.eclipse.lsp4j.PublishDiagnosticsParams;
3436
import org.eclipse.lsp4j.RelatedFullDocumentDiagnosticReport;
37+
import org.eclipse.lsp4j.WorkspaceClientCapabilities;
3538
import org.springframework.context.event.EventListener;
3639
import org.springframework.stereotype.Component;
3740

@@ -102,12 +105,9 @@ public void publishEmptyDiagnosticList(DocumentContext documentContext) {
102105
@EventListener
103106
public void handleInitializeEvent(LanguageServerInitializeRequestReceivedEvent event) {
104107
clientSupportsRefresh = clientCapabilitiesHolder.getCapabilities()
105-
.map(capabilities -> capabilities.getWorkspace())
106-
.filter(workspace -> workspace != null)
107-
.map(workspace -> workspace.getDiagnostics())
108-
.filter(diagnostics -> diagnostics != null)
109-
.map(diagnostics -> diagnostics.getRefreshSupport())
110-
.filter(refreshSupport -> refreshSupport != null)
108+
.map(ClientCapabilities::getWorkspace)
109+
.map(WorkspaceClientCapabilities::getDiagnostics)
110+
.map(DiagnosticWorkspaceCapabilities::getRefreshSupport)
111111
.orElse(false);
112112
}
113113

0 commit comments

Comments
 (0)