Skip to content

Conversation

@Enselic
Copy link
Collaborator

@Enselic Enselic commented Aug 3, 2021

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 one SyntaxSet is ever used, and that that implicitly is the SyntaxSet from which returned SyntaxReferences comes.

This change changes the API to reflect that SyntaxSet and SyntaxReference are tightly coupled, and enables the use of several SyntaxSet.

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.

…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`.
@Enselic Enselic mentioned this pull request Aug 3, 2021
Copy link
Owner

@sharkdp sharkdp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The proposed API changes looks good to me. The code as well.

@Enselic
Copy link
Collaborator Author

Enselic commented Aug 8, 2021

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 Enselic merged commit d8b813c into sharkdp:master Aug 8, 2021
@Enselic Enselic deleted the syntax-reference-in-set branch August 8, 2021 06:26
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`.
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.

3 participants