-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[SourceKit] Add mechanism to load plugins for request handling into SourceKit #78421
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
Conversation
…ourceKit This allows us to load plugins into the sourcekitd service to handle requests (currently only used for code completion). This allows us to implement parts of sourcekitd in Swift and outside of the compiler repository, making it easier to iterated on them because the compiler doesn’t need to be rebuilt.
3235d7a
to
6d0463a
Compare
fc7588b
to
aeac681
Compare
7f9d3c9
to
425d318
Compare
425d318
to
c0ad0b6
Compare
@swift-ci Please build toolchain |
@swift-ci Please build toolchain Linux |
@swift-ci Please smoke test |
@swift-ci Please smoke test Linux |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't see any obvious issues 👍
/// may be more expensive to compute. | ||
typedef void *swiftide_completion_item_t; | ||
|
||
typedef enum { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a blocker, but this file should also get changes in swiftlang/sourcekit-lsp@16f897a#diff-39e84eb3460d8f1ea3f90414efa55ebfabe28d7a69b09a1cfdc3b3de7946f459
This allows us to load plugins into the sourcekitd service to handle requests (currently only used for code completion). This allows us to implement parts of sourcekitd in Swift and outside of the compiler repository, making it easier to iterated on them because the compiler doesn’t need to be rebuilt.
swiftlang/sourcekit-lsp#1906 implements the SourceKit plugin for code completion.