-
Notifications
You must be signed in to change notification settings - Fork 11
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
Improve macro handling of McBopomofoLM and expand test coverage #133
Merged
Conversation
This file contains 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
- Allow loading existing in-memory data. - Improve tests. - Disallow copying and moving. - Clearly state that MemoryMappedFile does not manage underlying file changes. - Clearly state that if an existing block of data is used for load() in PhraseReplacementMap or UserPhrasesLM, it is the caller's responsibility to ensure that the data outlives the LM object.
- Removes macro values not handled by the macro converter - Reformats and clarifies McBopomofoLM comments - Rearranges the order of member functions - Adds tests
e89d074
to
1545e23
Compare
zonble
approved these changes
Mar 15, 2024
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.
Looks good. I did not find any impact since the PR only adds tests.
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.
After this PR, every class in Engine/ will have a test.
Other than that, two notable changes:
MACRO@DATE_TODAY_SHORT
) is not handled by the macro converter, we discard the unigram value. This actually implies that it's no longer critical to ensure macros are supported across the board (see Ensure macros in McBopomofo macOS and fcitx5-mcbopomofo are in sync #100), as macros not supported/implemented on one platform will simply not be shown asMACRO@FOOBAR
in the candidate list. @zonble FYI.I also used the opportunity to audit our mmap and
std::string_view
uses, and have clarified the mmap contract—we map a readable, shared page, butMemoryMappedFile
class itself does not track and won't be aware of file changes. Not that it would affect McBopomofo's existing behavior, but it's good to state the contract more explicitly.