Commit graph

4320 commits

Author SHA1 Message Date
Marc Durdin
91fc7f99bd chore(developer): fix import path 2024-10-30 13:11:42 +07:00
Marc Durdin
a38f46040e feat(developer): Report key 'address' in validation failures in layout compiler
All messages that reference keys in the touch layout will now give the
row+column index of the key with the issue (and longpress/flick/multitap
index as well if relevant).

Fixes: #12505
2024-10-30 12:34:15 +07:00
Dr Mark C. Sinclair
8ac4267ce3 chore(developer): added commented-out unit test for multiple grouped virtual keys (see #12307) 2024-10-29 14:13:36 +00:00
Dr Mark C. Sinclair
feb7c51f8f chore(developer): four additional test cases with spaces around the names of custom virtual keys 2024-10-29 13:20:20 +00:00
Dr Mark C. Sinclair
2da8f7b17b chore(developer): add two test cases for VKeyMayBeVCKey when FMnemonicLayout is set 2024-10-29 13:13:49 +00:00
Dr Mark C. Sinclair
ac1931140e chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests-4 2024-10-29 10:47:18 +00:00
Marc Durdin
d68a64252e feat(developer): add GitHub and Cloud support to kmc-copy
This requires a significant refactor to the compiler interfaces to allow
for asynchronous filesystem and network access. For now, only kmc-copy
uses the asynchronous interfaces, but over time we may try and
consolidate them where other compiler modules find them useful. This
adds a big set of unit test fixtures to avoid network instability in
tests (the fixtures can be regenerated by setting environment variable
`TEST_SAVE_FIXTURES`).
2024-10-28 10:33:42 +07:00
Dr Mark C. Sinclair
c36f093a91 chore(developer): some clarification of comments on test cases for custom name virtual keys 2024-10-24 12:40:21 +01:00
Dr Mark C. Sinclair
4b30cc9f3f chore(developer): added virtual key names to initVKDictionary() 2024-10-24 12:29:02 +01:00
Marc Durdin
f6549befd7 chore(developer): ignore new line form when testing kmc-copy 2024-10-22 15:49:57 +07:00
Marc Durdin
6df121a05a feat(developer): kmc-copy cleanup and documentation
* Hides details on --rename and online sources for projects
  until implemented
2024-10-22 10:28:04 +07:00
Marc Durdin
089478d140 feat(developer): kmc-copy functionality and unit tests 2024-10-22 10:28:03 +07:00
Marc Durdin
40db1c2051 feat(common): add isDirectory, helper functions for kmc-copy 2024-10-22 10:28:03 +07:00
Marc Durdin
4b228a6161 feat(developer): add unit test fixtures for kmc-copy 2024-10-22 10:28:02 +07:00
Marc Durdin
1e084e99f0 refactor(developer): add kps-file-reader and kps-file-writer
Relates to kmc-copy project.

Moves the .kps file reader out of kmc-package and adds corresponding
kps file writer unit in developer-utils. Also moves related test and
error message definition.
2024-10-22 10:28:01 +07:00
Marc Durdin
521a9b24c8 feat(developer): add .kpj file writer 2024-10-22 10:28:00 +07:00
Marc Durdin
7d17913e18 feat(developer): seed kmc-copy 2024-10-22 10:28:00 +07:00
Marc Durdin
4c0588ea39 refactor(developer): define output path in kmc-generate artifacts 2024-10-22 10:25:30 +07:00
Dr Mark C. Sinclair
6ec4a47214 chore(developer): three test cases for custom virtual key names 2024-10-21 12:30:08 +01:00
Dr Mark C. Sinclair
e54762e1eb chore(developer): add two test cases for long virtual key names 2024-10-21 11:55:41 +01:00
Dr Mark C. Sinclair
b3635680a6 chore(developer): correct extern variable initialisation (kmcmp::FMnemonicLayout) 2024-10-21 10:48:36 +01:00
Marc Durdin
e0cc39ee32 refactor(developer): add kps-file-reader and kps-file-writer
Relates to kmc-copy project.

Moves the .kps file reader out of kmc-package and adds corresponding
kps file writer unit in developer-utils. Also moves related test and
error message definition.
2024-10-16 08:45:35 +07:00
Dr Mark C. Sinclair
592ffbd807 chore(developer): add six additional test cases (virtual char key), plus three commented-out test cases for issue #12307 2024-10-14 16:03:11 +01:00
Dr Mark C. Sinclair
24377acfc9 chore(developer): add ten virtual key test cases (virtual char key) 2024-10-14 11:58:37 +01:00
Dr Mark C. Sinclair
8ba24717b8 chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests-4 2024-10-14 11:27:22 +01:00
Marc Durdin
c1578eff81
Merge pull request #12540 from keymanapp/docs/10967-mime-types
docs(developer): add refs to Keyman MIME types
2024-10-14 08:01:36 +02:00
Marc Durdin
c6893c701e docs: add refs to Keyman MIME types
Fixes: #10967
2024-10-14 05:10:54 +07:00
Marc Durdin
89e58fbe00
Merge branch 'master' into feat/developer/kmc-generate 2024-10-12 11:48:31 +02:00
Marc Durdin
7dc787b96b fix(developer): use TextDecoder to convert Uint8Array to string
`toString()` only works when the Uint8Array is actually a Node Buffer.
2024-10-11 14:11:45 +07:00
Marc Durdin
0d9688451d
Merge branch 'master' into feat/developer/kmc-generate 2024-10-11 03:26:54 +02:00
Marc Durdin
43e7d32004
Merge pull request #12472 from keymanapp/feat/common/12347-check-markdown-links
test(common): add markdown link check test for product documentation
2024-10-11 03:23:23 +02:00
Dr Mark C. Sinclair
8d9ec89a3d chore(developer): add test cases for chiral modifiers version bump 2024-10-10 12:36:45 +01:00
Dr Mark C. Sinclair
5b7ccc9f05 chore(developer): check for mixed modifiers on virtual keys 2024-10-10 11:20:35 +01:00
Dr Mark C. Sinclair
2f7096a810 chore(developer): add ten test cases on virtual key qualifiers 2024-10-10 10:47:18 +01:00
Marc Durdin
473fea9be0
Merge pull request #12464 from keymanapp/fix/developer/12454-use-richedit-for-debugger-memo
fix(developer): use richedit in debug memo to support Egyptian cartouches
2024-10-09 09:49:21 +02:00
Marc Durdin
76ebb5b02b
Merge branch 'master' into feat/common/12347-check-markdown-links 2024-10-09 05:16:31 +02:00
Marc Durdin
016a6f0225 chore(common): address review comments 2024-10-09 08:12:21 +07:00
Marc Durdin
e208d56419 fix(developer): use RichEdit 4.1 for debugger memos
Adds support for using RichEdit 4.1, and sets the richedit control into
the correct mode for rendering arbitrary Unicode correctly. Removes
some unnecessary per-character refresh for improved performance.

Fixes: #12454
2024-10-08 14:21:22 +07:00
Steven R. Loomis
9a4c7e5820 feat(developer): fast-xml-parser: typo fix in xml-utils.ts
Fixes: #12208
2024-10-07 13:05:50 -05:00
Dr Mark C. Sinclair
d269edb20c chore(developer): add initial three test cases to GetXStringImpl_type_osb test, plus initVKDictionary() 2024-10-07 16:25:42 +01:00
Dr Mark C. Sinclair
ebb6f87fb3 chore(developer): add return() test case to GetXStringImpl_type_r test 2024-10-07 14:10:06 +01:00
Dr Mark C. Sinclair
eee9cf49dd chore(developer): add ten use cases for reset() in GetXStringImpl_type_r test 2024-10-07 13:48:38 +01:00
Dr Mark C. Sinclair
6871b35f05 chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests-4 2024-10-07 13:28:43 +01:00
Marc Durdin
2e059e9730
Merge branch 'master' into feat/common/12347-check-markdown-links 2024-10-07 09:41:45 +02:00
Marc Durdin
2b7ceff3e1 chore(developer): add baseline tests for bcp47 codes to kmc-package
Relates-to: #12012
2024-10-07 14:27:15 +07:00
Steven R. Loomis
03a24a1506 feat(developer): fast-xml-parser: fix for ldml empty attributes
- because of the form to="" in ldml, we need to distinguish attributes and sub-elements in the ldml xml parsing
- use an attributePrefix, and fixup the object tree afterwards

Fixes: #12208
2024-10-03 12:41:08 -05:00
Steven R. Loomis
6c0d240e09
Merge branch 'master' into feat/common/12208-fast-xml-parser3 2024-10-03 11:04:11 -05:00
Steven R. Loomis
e483318597
Merge pull request #12482 from keymanapp/feat/common/12208-unified-xml-parse
feat(common): unified XML parser/writer
2024-10-03 10:52:35 -05:00
Steven R. Loomis
3e168aafb2 chore(developer,common): deps: xml2js / fast-xml-parser
- remove vendored xml2js
- add fast-xml-parser@4.5.0
- Rewire the KeymanXMLReader / KeymanXMLWriter to use fast-xml-parser

Four small changes to the test data on the generated .kvks:
- allow " for XML generation (" is legal)
- use the same XML prologue as the actual .kvks files.
- treat <key></key> as <key/> since we can't distinguish
  (removed a "_": "" entry)
- remove whitespace because we now can ("_": "\n  \n \n") on non-leaf nodes.
  This is ignored by the kvks code, but was difficult to maintain roundtrip.

Fixes: #12208
2024-10-03 08:34:24 -05:00
Dr Mark C. Sinclair
b8d2fad56e chore(developer): add reset() ERROR_80FeatureOnly test case 2024-10-03 12:31:18 +01:00