-
-
Notifications
You must be signed in to change notification settings - Fork 111
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
epic: Keyman Core normalization 🌱 #10390
Merged
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
Fixes #10365. Adds a `km_core_state_context_debug` function that returns a km_core_cp string containing the current cached or intermediate context. The function must be used only for debug logging purposes -- the string is not intended to parsed for other purposes and the format may change in the future. This commit adds the function and corresponding unit tests. Subsequent commits will update existing context debug functions in various engines to use this API endpoint instead.
Adds the application context member of state and a corresponding, failing unit test, which starts the process of verifying the handling of the application context.
First half of #9999. Adds support for normalization (to NFD) of input app context into the cached context. The keyboard processor will work with the NFD cached context. Adds unit tests for the normalization as part of the LDML keyboard processor test suite. TODO: * Comparing modified cached context to app context to determine the transform required to send to the app * Handling illegal unicode and unpaired surrogates on input context
Note: resolved merge conflict with action_api.cpp by shifting new code into state_context_api.cpp.
Co-authored-by: Steven R. Loomis <[email protected]>
…ore/9999-normalization-of-context Note: shifted minor changes from action_api.cpp to new state_context_api.cpp.
User Test ResultsTest specification and instructions User tests are not required Test Artifacts
|
mcdurdin
changed the title
feat(core): seed Keyman Core normalization
epic: Keyman Core normalization 🌱
Jan 15, 2024
…t/developer/10416-10458-ldml-debugger-markers
…ugger-app-context refactor(developer): update app context as well as cached context for keyboard debuggers 🌱
…-10458-ldml-debugger-markers
Rolls back the privatisation of the km_core_context_get and km_core_context_length APIs because the debugger uses them.
…dml-debugger-markers feat(developer): LDML keyboard test window marker support 🌱
…oard3-tag fix(developer): use keyboard3 tag rather than DTD to identify LDML keyboard xml files 🌱
…board-template fix(developer): tidy up LDML keyboard project template 🌱
Fixes #10530. Adds the deleted_context member to the km_core_actions struct, and associated unit tests. Simplifies integration by providing the consumer with all the data they need in order to execute the transform, specifically around number of delete operations required, without needing to query the target application context again. The number of delete operations will vary according to application compliance and selected encoding; for example a UTF-16 string may require 2 delete-backs for surrogate pairs in the text buffer for a compliant app, whereas there will be a single delete-back key event for a non-compliant app. The deleted_context member should also be used for debug assertions.
…alization' into fix/core/10100-ContextNuances # Conflicts: # core/tests/unit/kmnkbd/state_context_api.cpp
fix(core): Fix nuances when updating context 🌱
…truct refactor(linux): Use `km_core_actions` struct instead of queue 🌱
…ugger-surrogate-pairs fix(developer): support surrogate pairs in ldml debugger 🌱
…ted-context feat(core): add `deleted_context` to `km_core_actions` struct 🌱
chore(core): `process_output_action` needs const `output_utf32` parameter 🌱
mcdurdin
requested review from
rc-swag,
ermshiperete,
sgschantz,
SabineSIL,
darcywong00 and
jahorton
as code owners
January 30, 2024 23:43
rc-swag
approved these changes
Jan 30, 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.
RSLGTM
Changes in this pull request will be available for download in Keyman version 17.0.257-alpha |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
Fixes #9999.
@keymanapp-test-bot skip