Commit graph

1881 commits

Author SHA1 Message Date
Steven R. Loomis
1bb3ae548a fix(developer): more wasm uset fixes 🙀
- While i'm in the neighborhood..
- use 'free' besides just 'malloc' (sure enough..)
- move wasmExports into this
- add code coverage for failed sizes
- cleanup
2023-07-31 13:19:08 -05:00
Steven R. Loomis
51774b637b
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-07-31 22:23:37 -05:00
Steven R. Loomis
781351b121
Merge branch 'master' into fix/developer/wasm-epic-ldml 2023-07-31 22:10:21 -05:00
Steven R. Loomis
e1d5513952
Update developer/src/kmcmplib/src/meson.build
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-07-31 22:09:34 -05:00
Steven R. Loomis
b6fade356f
Merge pull request #9365 from keymanapp/feat/developer/9119-marker-emit-epic-ldml
feat(common): marker processing🙀
2023-07-31 16:00:31 -05:00
Steven R. Loomis
f2fea17b66
Update developer/src/kmc-ldml/test/fixtures/sections/vars/fail-markers-badref-0.xml
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-07-31 15:57:44 -05:00
Steven R. Loomis
8c2cd8916a fix(developer): fix breakage from emscripten 3.1.44
- use wasmExports.malloc if available otherwise asm.malloc
2023-07-31 11:16:49 -05:00
Steven R. Loomis
1c9543557f feat(developer): marker - basic.xml update 🙀
- verified sentinel in the binary output

#9119
2023-07-29 17:56:10 -05:00
Steven R. Loomis
8c79f14156 feat(developer): marker - use marker in the sections 🙀
- bunch of rework to make 'vars' a dependent of lots of sections
- should be emitting marker ids in the output stream now.

#9119
2023-07-29 17:26:36 -05:00
Steven R. Loomis
99886623a5 feat(developer): marker accounting 🙀
- .. and the basic.txt to prove it

#9119
2023-07-29 14:48:08 -05:00
Steven R. Loomis
52e54395f9 feat(developer): marker accounting 🙀
- split out MarkerTracker, could give us more precise messages about marker use
- for now, we parse all markers twice.
- update builder for the markers list

#9119
2023-07-29 14:18:37 -05:00
Steven R. Loomis
4854cba4c9 feat(developer): fix marker validation test 🙀
- was using the wrong syntax, hyphen instead of underscore

#9119
2023-07-28 21:40:02 -05:00
Steven R. Loomis
ab4a0f36ab feat(developer): Marker tests 🙀
- wip , still not working

For: #9119
2023-07-26 18:06:22 -05:00
Steven R. Loomis
0c7ad2c1af feat(developer): Marker tests 🙀
- tests for marker validation
- TDD: it fails, hooray

For: #9119
2023-07-26 17:27:14 -05:00
Steven R. Loomis
7ee574b8ba chore(developer): make unknown vkey a hint, not error 🙀
- add a TODO mentioning #7135

Fixes: #9236
2023-07-25 17:53:58 -05:00
Steven R. Loomis
2f381279af chore(developer): make unknown vkey a hint, not error 🙀
Note that feat(core): ldml vkey support 🙀 #7135 is future,
in the future this may be an Error again.

- also, add an internal error to the visual-keyboard-compiler on missing keys
- also, update fr-t-k0-azerty to fix a missing key (simultaneous fix has been made in CLDR)
- also, reinstate CLDR's fr-t-k0-azerty - now all 'stock' keyboards build in keyman!
- keep the 'internal' azerty as k_020 - it has some additional transform goodies

Fixes: #9236
2023-07-25 17:52:19 -05:00
Marc Durdin
7f0460172e
Merge pull request #9074 from keymanapp/chore/windows/disable-compression-for-wix-light-debug-builds
chore(windows): disable wix compression for debug builds
2023-07-17 15:01:09 +10:00
Marc Durdin
2e7162d5a9 chore(windows): remove hardcoded compression level in wxs files 2023-07-13 12:12:02 +07:00
Steven R. Loomis
f3bfef0cc3 fix(common): set variables need to serialize elementstring 🙀
- populate the 'elem' field of set variables
- this will be needed for mapFrom/mapTo

For: #7375
2023-07-12 16:44:50 -05:00
Steven R. Loomis
1bea614fd5 chore(common): improve coverage, fix todos 🙀
- remove SectionCompiler.required as unused
- minor fixes to common setSplitter
- add edge case tests

for: #8069
2023-07-05 15:48:12 -05:00
Steven R. Loomis
2370f97cbe
Merge branch 'chore/developer-7377-refactor-kmn-epic-ldml' into fix/common-7377-multi-escape-reorder-epic-ldml 2023-07-04 15:20:09 -05:00
Steven R. Loomis
5588e3fc34
Merge branch 'fix/developer-8069-coverage-todo-epic-ldml' into chore/developer-7377-refactor-kmn-epic-ldml 2023-07-04 15:19:44 -05:00
Steven R. Loomis
b6992d378b fix(developer): improve coverage, add todos 🙀
- fix to the fix

for: #8069
2023-07-04 15:05:10 -05:00
Steven R. Loomis
8cd846f298 fix(common): support multichar escapes in element sets 🙀
- \u{22 0127} acts like \u{22}\u{0127}

for: #7377
2023-07-04 12:47:58 -05:00
Steven R. Loomis
a5af734160 chore(developer): refactor so KmnCompiler only created once within kmc 🙀
- remove async SectionCompiler.init()  and all callers
- the usetparser lives on the DependencySections, initialized by kmc-ldml (and by the test harnesses)

for: #7377
2023-07-04 11:39:57 -05:00
Steven R. Loomis
69c9ddc99e fix(developer): improve coverage, add todos 🙀
- skip coverage on some actual internal errors
- add todos where coverage is needed

for: #8069
2023-07-04 11:10:05 -05:00
Steven R. Loomis
1126cfb9a2 chore(developer): robust reorder tests 🙀
For: #7377
2023-07-04 10:50:03 -05:00
Steven R. Loomis
52b8dfb205 feat(common): preflighting on uset 🙀
- update docs on UnicodeSet
- uset parser: fix/clarify that the wasm interface takes a bufferSize, but the ts interface takes a range count. This was muddled before.

For: #7377
2023-07-04 10:26:50 -05:00
Steven R. Loomis
0f0c1e5e61 feat(common): preflighting on uset 🙀
- allow uset to preflight (calculate # of ranges)

For: #7377
2023-07-03 18:48:48 -05:00
Steven R. Loomis
ebcccbe0ef feat(core): rearrange elem flags 🙀
- per review comments, make the elem flags clearer

For: #7377
2023-07-03 18:20:59 -05:00
Steven R. Loomis
88650e2085 feat(developer): uset in element string 🙀
- fix uset builder and other missing uset parts
- basic.xml passes
- update to constants

Fixes: #7377
2023-06-30 17:27:04 -05:00
Steven R. Loomis
5d5b61cd0a feat(developer): uset in element string 🙀
- update element string constructors to support UnicodeString and the segmented array from ElementParser
- update compiler machinery to pass USetParser in the DependencySections
- test cases

#7377
2023-06-30 15:56:45 -05:00
Steven R. Loomis
fbf6005bc4
Merge pull request #9084 from keymanapp/feat/developer-9050-utf32-epic-ldml
feat(developer,common,core): ldml UTF-32 literals in binary 🙀
2023-06-26 20:33:27 -05:00
Joshua Horton
2ac8a4503b
Merge branch 'master' into feature-esmodule-web-engine 2023-06-26 09:09:43 +07:00
dependabot[bot]
7d08b08fb2
chore(deps): bump semver from 7.3.8 to 7.5.2
Bumps [semver](https://github.com/npm/node-semver) from 7.3.8 to 7.5.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.8...v7.5.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-24 12:37:06 +00:00
Steven R. Loomis
5cd3447bfd feat(developer): last fix for UTF-32 single chars 🙀
- elem

Fixes: #9050
2023-06-23 17:30:48 -05:00
Steven R. Loomis
79526e452d feat(developer): test fix for UTF-32 single chars 🙀
- last but not least, basic.txt

For: #9050
2023-06-23 17:10:51 -05:00
Steven R. Loomis
de90644d7a feat(core,common,developer): support UTF-32 single chars 🙀
- C++ side now
- updated tests
- refactored escaping code and squashed bugs
- still todo: basic.xml

For: #9050
2023-06-23 16:55:05 -05:00
Steven R. Loomis
8304de4ad9 feat(common): support UTF-32 single chars 🙀
- common and developer side
- needs C++ update and basic.xml

For: #9050
2023-06-23 14:11:26 -05:00
Steven R. Loomis
248d423535 feat(common,developer,core): add uset section 🙀
- not emitted yet, basic scaffolding
- expanded type field in elem:  str/char/set

For: #7377
2023-06-20 18:23:54 -05:00
Joshua A. Horton
f35ba0973e chore(developer): kmc-model no longer needs to bundle a .cjs version for input-processor 2023-06-14 10:15:56 +07:00
Marc Durdin
3f6f11e1da
Merge pull request #8999 from keymanapp/fix/developer/8998-message-namespace-creep
fix(developer): keep kmc-kmn messages within namespace
2023-06-13 12:53:31 +10:00
Marc Durdin
cbc5b13034 fix(developer): keep kmc-kmn messages within namespace
Fixes #8998.

kmc-kmn messages were broken down into sub-namespaces, but the range
overlapped the reserved namespace mask range. Fixed the message values,
added a new test to the verifyCompilerMessagesObject function to verify
that messages don't creep outside their namespace, and defined new
masks (in CompilerErrorSeverity enum... hmm) to help.

I opted to remove the leading `0` in the messages for kmc-kmn as I had
to correct a number of them anyway, but not the messages in remaining
units at this time (it's not an error, but just slightly misleading as
we only have 12 bits, not 16 to play with).

It is safe to reassign these messages as they were only assigned in 17.0
alpha.
2023-06-13 06:22:15 +07:00
Marc Durdin
6db014224c chore(developer): enable hint message for non-Unicode source files 2023-06-12 12:00:48 +07:00
Marc Durdin
57af86ea9c chore(developer): support cp1252 'ansi' keyboards
Fixes #8955.

Adds a mapping table for CP1252 to USV so that we can compile very old
"ANSI"-encoded Keyman keyboard files with kmcmplib, to match kmcmpdll
support.
2023-06-12 11:43:29 +07:00
Marc Durdin
a25f8a723f
Merge pull request #8962 from keymanapp/refactor/developer/kmcmplib-error-code-patterns
refactor(developer): import kmcmplib errors into kmc-kmn
2023-06-12 12:20:10 +10:00
Steven R. Loomis
2d367756a8
Merge pull request #8967 from keymanapp/fix/developer-7377-codecleanup-transform-epic-ldml 2023-06-08 21:42:34 -05:00
Marc Durdin
38fde28165
Merge pull request #8695 from keymanapp/feat/developer-7377-transform-format-epic-ldml3
spec(core): spec/impl for transform and vars 🙀
2023-06-09 11:44:40 +10:00
Steven R. Loomis
4febfcb451 feat(developer): improve tran/bksp tests, other improvements 🙀
- delete dead code
- share common ID regex for vars
- move bksp/finl/order tests into tran

For: #7377
2023-06-08 18:39:44 -05:00
Steven R. Loomis
5cf025b62e
Merge pull request #8942 from keymanapp/feat/core-7377-transform-epic-ldml
feat(core): fixups to C++ side 🙀
2023-06-08 18:17:06 -05:00