@@ -140,42 +140,45 @@ public CompletableFuture<InitializeResult> initialize(InitializeParams params) {
140
140
}
141
141
}
142
142
143
- var serverCapabilities = new ServerCapabilities ();
144
- serverCapabilities .setTextDocumentSync (TextDocumentSyncKind .Incremental );
143
+ var initializeResult = new InitializeResult (serverCapabilities ());
144
+ return CompletableFuture .completedFuture (initializeResult );
145
+ }
146
+
147
+ private static ServerCapabilities serverCapabilities () {
148
+ var result = new ServerCapabilities ();
149
+ result .setTextDocumentSync (TextDocumentSyncKind .Incremental );
145
150
146
151
var workspaceFoldersOptions = new WorkspaceFoldersOptions ();
147
152
workspaceFoldersOptions .setSupported (true );
148
153
workspaceFoldersOptions .setChangeNotifications (true );
149
154
var workspaceCapabilities = new WorkspaceServerCapabilities (workspaceFoldersOptions );
150
- serverCapabilities .setWorkspace (workspaceCapabilities );
155
+ result .setWorkspace (workspaceCapabilities );
151
156
152
- serverCapabilities .setCallHierarchyProvider (true );
157
+ result .setCallHierarchyProvider (true );
153
158
var codeLensOptions = new CodeLensOptions (false );
154
- serverCapabilities .setCodeLensProvider (codeLensOptions );
159
+ result .setCodeLensProvider (codeLensOptions );
155
160
var completionOptions = new CompletionOptions (false , List .of ("." ));
156
- serverCapabilities .setCompletionProvider (completionOptions );
157
- serverCapabilities .setDefinitionProvider (true );
158
- serverCapabilities .setDocumentFormattingProvider (true );
161
+ result .setCompletionProvider (completionOptions );
162
+ result .setDefinitionProvider (true );
163
+ result .setDocumentFormattingProvider (true );
159
164
var documentLinkOptions = new DocumentLinkOptions (false );
160
- serverCapabilities .setDocumentLinkProvider (documentLinkOptions );
161
- serverCapabilities .setDocumentSymbolProvider (true );
165
+ result .setDocumentLinkProvider (documentLinkOptions );
166
+ result .setDocumentSymbolProvider (true );
162
167
var executeCommandOptions = new ExecuteCommandOptions (List .of ("nextflow.server.previewDag" ));
163
- serverCapabilities .setExecuteCommandProvider (executeCommandOptions );
164
- serverCapabilities .setHoverProvider (true );
165
- serverCapabilities .setReferencesProvider (true );
168
+ result .setExecuteCommandProvider (executeCommandOptions );
169
+ result .setHoverProvider (true );
170
+ result .setReferencesProvider (true );
166
171
var semanticTokensOptions = new SemanticTokensWithRegistrationOptions (
167
172
new SemanticTokensLegend (
168
173
SemanticTokensVisitor .TOKEN_TYPES ,
169
174
Collections .emptyList ()
170
175
),
171
176
true ,
172
177
false );
173
- serverCapabilities .setSemanticTokensProvider (semanticTokensOptions );
174
- serverCapabilities .setRenameProvider (true );
175
- serverCapabilities .setWorkspaceSymbolProvider (true );
176
-
177
- var initializeResult = new InitializeResult (serverCapabilities );
178
- return CompletableFuture .completedFuture (initializeResult );
178
+ result .setSemanticTokensProvider (semanticTokensOptions );
179
+ result .setRenameProvider (true );
180
+ result .setWorkspaceSymbolProvider (true );
181
+ return result ;
179
182
}
180
183
181
184
@ Override
@@ -453,27 +456,8 @@ public void didChangeConfiguration(DidChangeConfigurationParams params) {
453
456
withDefault (JsonUtils .getBoolean (settings , "nextflow.typeChecking" ), configuration .typeChecking ())
454
457
);
455
458
456
- if ( shouldInitialize (oldConfiguration , configuration ) ) {
457
- var progress = new ProgressNotification (client , "initialize" );
458
- progress .create ();
459
- progress .begin ("Initializing workspace..." );
460
-
461
- var count = 0 ;
462
- var total = workspaceRoots .keySet ().size () - 1 ;
463
- for ( var name : workspaceRoots .keySet () ) {
464
- if ( DEFAULT_WORKSPACE_FOLDER_NAME .equals (name ) )
465
- continue ;
466
- var progressMessage = String .format ("Initializing workspace: %s (%d / %d)" , name , count + 1 , total );
467
- progress .update (progressMessage , count * 100 / total );
468
- count ++;
469
-
470
- var uri = workspaceRoots .get (name );
471
- scriptServices .get (name ).initialize (uri , configuration );
472
- configServices .get (name ).initialize (uri , configuration );
473
- }
474
-
475
- progress .end ();
476
- }
459
+ if ( shouldInitialize (oldConfiguration , configuration ) )
460
+ initializeWorkspaces ();
477
461
}
478
462
479
463
private ErrorReportingMode errorReportingMode (Object settings ) {
@@ -493,6 +477,28 @@ private boolean shouldInitialize(LanguageServerConfiguration previous, LanguageS
493
477
|| previous .typeChecking () != current .typeChecking ();
494
478
}
495
479
480
+ private void initializeWorkspaces () {
481
+ var progress = new ProgressNotification (client , "initialize" );
482
+ progress .create ();
483
+ progress .begin ("Initializing workspace..." );
484
+
485
+ var count = 0 ;
486
+ var total = workspaceRoots .keySet ().size () - 1 ;
487
+ for ( var name : workspaceRoots .keySet () ) {
488
+ if ( DEFAULT_WORKSPACE_FOLDER_NAME .equals (name ) )
489
+ continue ;
490
+ var progressMessage = String .format ("Initializing workspace: %s (%d / %d)" , name , count + 1 , total );
491
+ progress .update (progressMessage , count * 100 / total );
492
+ count ++;
493
+
494
+ var uri = workspaceRoots .get (name );
495
+ scriptServices .get (name ).initialize (uri , configuration );
496
+ configServices .get (name ).initialize (uri , configuration );
497
+ }
498
+
499
+ progress .end ();
500
+ }
501
+
496
502
@ Override
497
503
public void didChangeWatchedFiles (DidChangeWatchedFilesParams params ) {
498
504
log .debug ("workspace/didChangeWatchedFiles " + params );
0 commit comments