Skip to content

Merge main into release/6.1 #1911

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 48 commits into from
Jan 8, 2025

Conversation

kateinoigakukun and others added 30 commits December 1, 2024 14:48
Providing a JSON schema for the configuration file should improve the
developer experience thanks to better auto-completion and diagnostics
support provided by some editors.

Additionally, we have been manually maintaining the configuration file
format documentation in `Documentation/Configuration File.md`, but it's
easy for the documentation to get out of sync with the actual schema.

This change introduces a new tool, `ConfigSchemaGen`, that generates a
JSON schema and a Markdown document for the configuration file based on
the Swift type definitions in the `SKOptions` module by using
swift-syntax.
The `markdownEnumDescriptions` field in JSON Schema is supposed to be an
array of descriptions but was incorrectly encoded as a dictionary.
This adjusts the build configuration to allow the shared LMDB library
build to be wired into the build.
`_SwiftSyntaxCShims` objects weren't linked because it was a header-only
library. But since actual code is being added, we need to link it.
fix ASTBuild command exec failed
…tings-timeout

feature support override buildSettingsTimeout by workspace config.json
`inProgressTextDocumentRequests` is supposed to only be accessed on `textDocumentTrackingQueue` but we were accessing it outside of that queue. Because of this, we might try to remove requests from `inProgressTextDocumentRequests` before adding them, which would cause them to stay in the list indefinitely.
ahoppen and others added 18 commits January 2, 2025 18:39
Emit a log message when we receive a cancel request notification
…ueue

Clear `inProgressTextDocumentRequests` on `textDocumentTrackingQueue`
…data sent from SourceKit-LSP to the client

This could help us debug low-level issues of SourceKit-LSP to client communication such as swiftlang#1890.
…supports `getReferenceDocument`

This allows us to provide semantic functionality inside the generated interfaces, such as hover or jump-to-definition.

rdar://125663597
[Test] Link macro binaries to _SwiftSyntaxCShims objects
…ference-document

Support semantic functionality in generated interfaces if the client supports `getReferenceDocument`
Add option to generate an output mirror file that contains the exact data sent from SourceKit-LSP to the client
It is important that we cache this because we might find a lot of symbols in the same container for eg. workspace symbols (eg. consider many symbols in the same C++ namespace). If we didn't cache this value, then we would need to perform a `primaryDefinitionOrDeclarationOccurrence` lookup for all of these containers, which is expensive.

For example, searching for `only` in SourceKit-LSP’s codebase used to not return results in more than 20s (after which I gave up) and now returns >8000 results in <2s.

rdar://141412138
Remove `SourceKitLSPServer.openGeneratedInterface`
This improves performance when searching for `only` in SourceKit-LSP by ~30%.
…hims"

This reverts commit 233f2e6, reversing
changes made to 320177f.
…rface-reference-document"

This reverts commit f653ef3, reversing
changes made to 233f2e6.
…method"

This reverts commit 991b893, reversing
changes made to c214a5f.
@ahoppen ahoppen requested a review from bnbarham January 8, 2025 08:44
@ahoppen
Copy link
Member Author

ahoppen commented Jan 8, 2025

@swift-ci Please test

@ahoppen ahoppen merged commit 32a2ff1 into swiftlang:release/6.1 Jan 8, 2025
3 checks passed
@ahoppen ahoppen deleted the merge-main-6.1-2025-01-08 branch January 8, 2025 18:27
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.

6 participants