@@ -243,12 +243,16 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
243243 } ;
244244
245245 apiManager . initialize ( requirements , serverMode ) ;
246+ resolve ( apiManager . getApiInstance ( ) ) ;
247+ // the promise is resolved
248+ // no need to pass `resolve` into any code past this point,
249+ // since `resolve` is a no-op from now on
246250
247251 if ( requireSyntaxServer ) {
248252 if ( process . env [ 'SYNTAXLS_CLIENT_PORT' ] ) {
249- syntaxClient . initialize ( requirements , clientOptions , resolve ) ;
253+ syntaxClient . initialize ( requirements , clientOptions ) ;
250254 } else {
251- syntaxClient . initialize ( requirements , clientOptions , resolve , prepareExecutable ( requirements , syntaxServerWorkspacePath , getJavaConfig ( requirements . java_home ) , context , true ) ) ;
255+ syntaxClient . initialize ( requirements , clientOptions , prepareExecutable ( requirements , syntaxServerWorkspacePath , getJavaConfig ( requirements . java_home ) , context , true ) ) ;
252256 }
253257 syntaxClient . start ( ) ;
254258 serverStatusBarProvider . showLightWeightStatus ( ) ;
@@ -347,7 +351,7 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
347351 }
348352
349353 if ( choice === "Yes" ) {
350- await startStandardServer ( context , requirements , clientOptions , workspacePath , resolve ) ;
354+ await startStandardServer ( context , requirements , clientOptions , workspacePath ) ;
351355 }
352356 } ) ;
353357
@@ -372,18 +376,16 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
372376 const importOnStartup = config . get ( importOnStartupSection ) ;
373377 if ( importOnStartup === "disabled" ||
374378 env . uiKind === UIKind . Web && env . appName . includes ( "Visual Studio Code" ) ) {
375- syntaxClient . resolveApi ( resolve ) ;
376379 requireStandardServer = false ;
377380 } else if ( importOnStartup === "interactive" && await workspaceContainsBuildFiles ( ) ) {
378- syntaxClient . resolveApi ( resolve ) ;
379381 requireStandardServer = await promptUserForStandardServer ( config ) ;
380382 } else {
381383 requireStandardServer = true ;
382384 }
383385 }
384386
385387 if ( requireStandardServer ) {
386- await startStandardServer ( context , requirements , clientOptions , workspacePath , resolve ) ;
388+ await startStandardServer ( context , requirements , clientOptions , workspacePath ) ;
387389 }
388390
389391 const onDidGrantWorkspaceTrust = ( workspace as any ) . onDidGrantWorkspaceTrust ;
@@ -411,7 +413,7 @@ export function activate(context: ExtensionContext): Promise<ExtensionAPI> {
411413 } ) ;
412414}
413415
414- async function startStandardServer ( context : ExtensionContext , requirements : requirements . RequirementsData , clientOptions : LanguageClientOptions , workspacePath : string , resolve : ( value ?: ExtensionAPI | PromiseLike < ExtensionAPI > ) => void ) {
416+ async function startStandardServer ( context : ExtensionContext , requirements : requirements . RequirementsData , clientOptions : LanguageClientOptions , workspacePath : string ) {
415417 if ( standardClient . getClientStatus ( ) !== ClientStatus . uninitialized ) {
416418 return ;
417419 }
@@ -426,7 +428,7 @@ async function startStandardServer(context: ExtensionContext, requirements: requ
426428 apiManager . getApiInstance ( ) . serverMode = ServerMode . hybrid ;
427429 apiManager . fireDidServerModeChange ( ServerMode . hybrid ) ;
428430 }
429- await standardClient . initialize ( context , requirements , clientOptions , workspacePath , jdtEventEmitter , resolve ) ;
431+ await standardClient . initialize ( context , requirements , clientOptions , workspacePath , jdtEventEmitter ) ;
430432 standardClient . start ( ) ;
431433 serverStatusBarProvider . showStandardStatus ( ) ;
432434}
0 commit comments