-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[SourceKit] Add global-configuration request to control SourceKit's behavior around .swiftsourceinfo files #28452
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
@swift-ci please test |
1 similar comment
@swift-ci please test |
hmm, didn't we agree on not ignoring |
Oops, yeah we did, sorry. I'll have a new version up shortly that flips it plus some changes Argyrios asked for in-person. |
🙏Thank you, Nathan! |
0752be5
to
2e9d785
Compare
2e9d785
to
77c3d5f
Compare
@swift-ci please test |
Build failed |
Build failed |
… behavior around .swiftsourceinfo files SwiftSourceInfo files provide source location information for decls coming from loaded modules. For most IDE use cases it either has an undesirable impact on performance with no benefit (code completion), results in stale locations being used instead of more up-to-date indexer locations (cursor info), or has no observable effect (live diagnostics, which are filtered to just those with a location in the primary file). For non-IDE clients of SourceKit though, cursor info providing declaration locations for symbols from other modules is useful, so add a global configuration option (and a new request to set it) to control whether .swiftsourceinfo files are loaded or not based on use case (they are loaded by default).
77c3d5f
to
b9d5672
Compare
@swift-ci please test |
Build failed |
Build failed |
@swift-ci please test OS X Platform |
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.
Looking good!
.swiftsourceinfo files provide source location information for decls coming from loaded modules. For most IDE use cases it either has an undesirable impact on performance with no benefit (code completion), results in stale locations being used instead of more up-to-date indexer locations (cursor info), or has no observable effect (diagnostics, which are filtered to just those with a location in the primary file).
For non-IDE clients of SourceKit though, cursor info providing declaration locations for symbols from other modules is useful, so add a global configuration option (and a new request to set it) to control whether .swiftsourceinfo files are loaded or not based on use case (they are loaded by default).
This is an updated version of #28374 after some discussion between @akyrtzi, @nkcsgexi and I in-person.