Skip to content

Conversation

ahoppen
Copy link
Member

@ahoppen ahoppen commented Sep 29, 2025

We previously waited for the initialization response from the build server during the creation of a Workspace so that we could create a SemanticIndexManager with the index store path etc. that was returned by the build/initialize response. This caused all functionality (including syntactic) of SourceKit-LSP to be blocked until the build server was initialized.

Change the computation of the SemanticIndexManager and related types to happen in the background so that we can provide functionality that doesn’t rely on the build server immediately.

Fixes #2304

@ahoppen
Copy link
Member Author

ahoppen commented Sep 29, 2025

@swift-ci Please test

…ng to initialize

We previously waited for the initialization response from the build server during the creation of a `Workspace` so that we could create a `SemanticIndexManager` with the index store path etc. that was returned by the `build/initialize` response. This caused all functionality (including syntactic) of SourceKit-LSP to be blocked until the build server was initialized.

Change the computation of the `SemanticIndexManager` and related types to happen in the background so that we can provide functionality that doesn’t rely on the build server immediately.

Fixes swiftlang#2304
@ahoppen ahoppen force-pushed the long-build-server-init branch from 92b030a to a6c291b Compare September 29, 2025 12:02
@ahoppen
Copy link
Member Author

ahoppen commented Sep 29, 2025

@swift-ci Please test

@ahoppen
Copy link
Member Author

ahoppen commented Sep 29, 2025

@swift-ci Please test Windows

@ahoppen ahoppen merged commit 331f156 into swiftlang:main Sep 30, 2025
3 checks passed
@ahoppen ahoppen deleted the long-build-server-init branch September 30, 2025 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BSP build/taskStart notifications seems to not be processed until sometime after buildTargets/ returns

2 participants