Commit graph

4495 commits

Author SHA1 Message Date
Marc Durdin
10a933aba4 chore(developer): kmc-copy: warn or info on missing files on GitHub, rather than error 2024-10-31 12:00:13 +07:00
Sabine
cdfb4c7870 feat(developer): kmc-convert tidy up, add TODO labels 2024-10-31 03:33:59 +01:00
Marc Durdin
2a0e17cab7 fix(developer): handle missing files in kmc-model
If a file is not found, loadfile returns null, which kmc-model now
handles with a clear error message rather than a generic exception.
Checks added for missing .model.ts and missing wordlist.tsv files. Added
corresponding unit tests.

Fixes: #12553
Fixes: KEYMAN-DEVELOPER-294
2024-10-31 09:29:46 +07:00
Marc Durdin
55e3f73a36 fix(developer): handle missing files in kmc-kmn
If a file is not found, the loadfile callback now returns an empty array
rather than null, which kmcmplib interprets as a missing file. This
means a zero-byte file will have the same outcome but as it is also
generally invalid, I think that is acceptable.

Fixes: #12546
Fixes: KEYMAN-DEVELOPER-292
2024-10-31 09:08:44 +07:00
Marc Durdin
ad1e77731f fix(developer): handle paste of TSV into Wordlist grid
When pasting into the wordlist grid, the editor will now check if the
clipboard text contains newlines or tabs, and if so, will paste the
text as new rows in the wordlist (with a prompt), rather than pasting
the whole text into the current cell.

If the clipboard text does not contain NL or TAB then the default
in-cell editor paste handling will run.

Fixes: #12517
2024-10-31 08:40:02 +07:00
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
Sabine
8873228ba6 feat(developer): kmc-convert-sorting order of dk the same for action(<keyMap>) and action(<when>) 2024-10-30 03:34:50 +01: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
Sabine
f21a7d3f11 feat(developer): kmc-convert-start to use deadkeys(read&map them from .ukelele file) 2024-10-29 10:44:37 +01: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
Sabine
2d6785d984 feat(developer): kmc-convert-NCAPS also for entries like caps? 2024-10-27 16:17:29 +01:00
Marc Durdin
9d4c103ccf
Merge branch 'epic/kmc-convert' into chore/merge-master-into-kmc-convert 2024-10-25 03:42:26 +02: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
Sabine
4bfc80e436 feat(developer): kmc-convert- add NCAPS to other rules in kmn-file if CAPS is used 2024-10-23 09:44:59 +02:00
Marc Durdin
f6549befd7 chore(developer): ignore new line form when testing kmc-copy 2024-10-22 15:49:57 +07:00
Sabine
632f2fc5ce feat(developer): kmc-convert-first draft of read/convert/write using Uint8Array 2024-10-22 10:34:35 +02: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
Sabine
f1cdceabb1 feat(common): remove files of mcompile 2024-10-21 10:45:44 +02:00
Sabine
6666ef228e feat(common): remove MyResult1.kmn 2024-10-21 10:39:22 +02:00
Sabine
9ecc1c0ec7 feat(common): use Uint8Array in kmc-convert 2024-10-20 22:03:11 +02:00
Sabine
d033d08c5d feat(common): start with kmc-convert-read/write very basic keylayout-file 2024-10-19 14:53:52 +02: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
Marc Durdin
cb72573348
Merge branch 'epic/kmc-convert' into chore/merge-master-into-kmc-convert 2024-10-11 01:20:28 +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