When returning a SyntaxReference, also return the SyntaxSet that contains it#1776
Merged
Conversation
…ains it To improve startup performance, we will later load smaller `SyntaxSet`s instead of one giant one. However, the current API assumes only one `SyntaxSet` is ever used, and that that implicitly is the `SyntaxSet` from which returned `SyntaxReference`s comes. This change changes the API to reflect that `SyntaxSet` and `SyntaxReference` are tightly coupled, and enables the use of several `SyntaxSet`.
keith-hall
approved these changes
Aug 6, 2021
sharkdp
approved these changes
Aug 7, 2021
Owner
sharkdp
left a comment
There was a problem hiding this comment.
The proposed API changes looks good to me. The code as well.
Collaborator
Author
|
I fixed the destructuring comment. I also looked into ways to introduce a helper function, but couldn't come up with something I was happy with. So I'll go ahead and merge this now. |
Enselic
added a commit
to Enselic/bat
that referenced
this pull request
Aug 8, 2021
…ains it (sharkdp#1776) To improve startup performance, we will later load smaller `SyntaxSet`s instead of one giant one. However, the current API assumes only one `SyntaxSet` is ever used, and that that implicitly is the `SyntaxSet` from which returned `SyntaxReference`s comes. This change changes the API to reflect that `SyntaxSet` and `SyntaxReference` are tightly coupled, and enables the use of several `SyntaxSet`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Here comes what I think will be the most controversial change on the #951 journey, because it has the highest impact on the bat-as-a-library API. Let me know what you think about it.
To improve startup performance, we will later load smaller
SyntaxSets instead of one giant one. However, the current API assumes only oneSyntaxSetis ever used, and that that implicitly is theSyntaxSetfrom which returnedSyntaxReferences comes.This change changes the API to reflect that
SyntaxSetandSyntaxReferenceare tightly coupled, and enables the use of severalSyntaxSet.I think it will make sense to add a helper method to reduce the boilerplate a bit, but I would like to get early feedback on the change itself before I do that.