- Sep 05, 2022
-
-
Marc Durdin authored
vkeyMaps table compiler, unit test, and fixes to json schema. Adds a vkeyMaps entry to the basic e2e test. us-virtual-keys.ts has a new mapping for CLDR VKey Enums, but I will tweak this in an upcoming commit to use constants instead of hard-coded values.
-
- Sep 04, 2022
-
-
Marc Durdin authored
-
Marc Durdin authored
Just wanted to rename this to make it clearer. Also added a prefix to each message generator to indicate the type of message, as otherwise it is not obvious within the compiler which messages are going to cause the compiler to fail. Note that the message generator function prefixes are Title Cased whereas the message identifier constant prefixes are CAPS. I guess this could be confusing but I think it works okay in practice.
-
Marc Durdin authored
If a loca entry is either formatted wrongly (e.g. wrong case), or is not minimal, then the compiler will now report a hint.
-
Marc Durdin authored
-
Marc Durdin authored
-
Marc Durdin authored
Just reorders all work around the various sections to match the binary format order -- that is, 'sect' first, then all other sections alphabetically. This also means the compiler now emits the sections in the expected order. No other changes to functionality.
-
Marc Durdin authored
Updates compiler, headers and documentation for the 'name' section, which will always be present as the LDML keyboard spec requires at least one name in the `<names>` element.
-
- Sep 03, 2022
-
-
Marc Durdin authored
Also uses `index()` to get count of strings automatically. Reformat basic.txt to make it more readable as it will get less 'basic' over time!
-
Marc Durdin authored
Adds an `index` command as suggested by #7186. > Future enhancement suggestion: include ... index() for block indices > within these repeated blocks. Would be very useful for string tables > in the example ref.
-
Marc Durdin authored
-
Marc Durdin authored
-
- Sep 02, 2022
-
-
Marc Durdin authored
Also adds semver package for validating the version field.
-
Marc Durdin authored
-
Marc Durdin authored
This makes it easier to write a binary file which contains offsets and size values. Using this for unit tests for the LDML keyboard compiler. Example kmldmlc basic.txt is updated and included. Future enhancement suggestion: include count() for repeated blocks and index() for block indices within these repeated blocks. Would be very useful for string tables in the example ref.
-
Marc Durdin authored
This is reasonably random, but wanted to add another test for content rather than structure, just to verify that the DTD-XSD-jsonschema translation is doing the right thing according to what we expect. Looking good.
-
- Sep 01, 2022
-
-
Marc Durdin authored
As we do not appear to have access to a good DTD validation library in Node.js, we will instead convert the DTD to a JSON schema file and use that for validation. I have not verified every aspect of the JSON schema at this point, but will incrementally do so as I implement further aspects of the compiler. This updates all the testing to use the schema. As the schema validation is slow, I have increased the 'normal' time for tests.
-
Marc Durdin authored
Also removes `-test` from normal `make build` for kmlmc, moving that responsibility to `make test` (but uses `-tdd` to avoid rebuild).
-
Marc Durdin authored
feat(developer): loca minimization + cleanup kmldmlc error list
🙀 -
Marc Durdin authored
feat(developer): add loca tests
🙀 -
Steven R. Loomis authored
chore(core): split out validators
🙀 -
Marc Durdin authored
feat(developer): add unit tests for meta compiler
🙀 -
Marc Durdin authored
-
Steven R. Loomis authored
- copy over asserts from 'old' code #7136
-
Steven R. Loomis authored
yes, a kmxplus file does not start with a 'sect' ! #7136
-
Steven R. Loomis authored
#7136
-
Marc Durdin authored
chore: merge master into feature-ldml
🙀
-
- Aug 31, 2022
-
-
Marc Durdin authored
-
Marc Durdin authored
Yeah two for the price of one: - minimize locales at compile time - cleans up the list of errors to make it easier to maintain and use
-
Marc Durdin authored
-
Marc Durdin authored
-
Marc Durdin authored
Note: bumps target to es2020 for better Intl.* support. Verified as supported by Node 16+ and modern browsers. Adds support for multiple locales and basic canonicalization. Does not support normalization of locales.
-
Marc Durdin authored
chore(developer): Merge branch 'chore/merge-master-into-feature-ldml' into feat/developer/kmldmlc-meta-tests-and-cleanup
-
Marc Durdin authored
Merge pull request #7153 from keymanapp/refactor/developer/kmldmlc-pure-functional-section-compilers refactor(developer): each section compiler is a pure function
🙀 -
Steven R. Loomis authored
feat(core): set -DDEBUG for debug
🙀 -
Keyman Server authored
auto: increment master version to 16.0.55
-
Keyman Build Agent authored
-
Steven R. Loomis authored
- set -DDEBUG for 'debug' meson builds - default KXPLUS_DEBUG to 1 for -DDEBUG #7136
-
- Aug 30, 2022
-
-
Marc Durdin authored
-
Marc Durdin authored
First, a little bit of refactoring to make it cleaner to do unit test for each section. Then add some global error values. Throw in a helper function or two. Dust off the edges of the CompilerCallbacks object. Duct tape together validation of the normalization attribute. And ... eventually we get a nice clean-like unit test for the meta compiler, with three pretty little fixtures and as-neat-as-you-like-it assertions.
-