Commit graph

2740 commits

Author SHA1 Message Date
Steven R. Loomis
7c02ab85af feat(core): ldml C++ feature support 🙀
- make ldml.cpp print FAILED on failure especially because of https://github.com/microsoft/vscode-cpptools/issues/487
- add vkey validation (#7135)
- add disp validation
- fix: a latent bug in disp! disp.count was === vkey.count, oops. Fix and test cases.

For: #7985
2023-02-14 09:23:03 -06:00
Sabine
fc87d0b1d5 chore(developer): new converting function convert_pchar16T_To_pwcharT in kmx_u16 2023-02-14 12:58:22 +01:00
SabineSIL
98b56947bc
Merge branch 'feature-kmcompx' into refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION 2023-02-14 12:21:13 +01:00
Sabine
41e057579d chore(developer): replace some #include <> with "" ; rename ErrExtra -> ErrExtraW 2023-02-14 12:13:41 +01:00
Sabine
94a4e756ef chore(developer): after stash:remove unneccessary files, get ErrorMsg for INCLUDECODES, VISUALKEYBOARD, UnreachableRules, ErrExrta, CWARN_ OK 2023-02-09 17:47:57 +01:00
Joshua A. Horton
a3752dd9ff chore(common): full-repo ts-node update 2023-02-09 12:39:15 +07:00
Joshua A. Horton
24d3f35cc7 fix(developer): drops implicit 'dom' library from server tsconfig 2023-02-09 10:32:02 +07:00
Joshua A. Horton
878e0f0ea2 chore(common): updates typescript to 4.9.5 2023-02-09 08:40:52 +07:00
Sabine
18a1424c45 chore(developer): remove unneccessary files, get ErrorMsg for INCLUDECODES, VISUALKEYBOARD, UnreachableRules, ErrExrta, CWARN_ OK 2023-02-08 20:27:54 +01:00
Steven R. Loomis
a8832ea893
Merge pull request #8172 from keymanapp/feat/developer/7965-morehardware-epic-ldml
feat(common): ldml different hardware support 🙀
2023-02-07 17:06:35 -06:00
Marc Durdin
c155325d73 fix(developer): Select BCP47 Code dialog inconsistencies
Fixes #8157.

There are some limitations in this dialog as it stands; we will rework
it completely when we revisit BCP 47 tagging.

However, for now, this addresses some strange behaviours around the
Reset button and the displayed output:

* The Reset button will only be enabled if you change the text in the
  Language Name field.
* The messaging around a missing language subtag is clearer -- tells
  the user that they need to enter something there.
* The Reset button will now never insert default text strings into the
  Language Name field.

One example of something that is slightly weird, is if you enter a
two-letter region subtag into the script box, it will show what looks
like a valid tag in the output box (e.g. `en-Au`), but it will be
considered invalid, because that two letter subtag needs to be entered
into the region box.
2023-02-07 12:40:31 +07:00
Steven R. Loomis
5e445b32a1 feat(developer): ldml: modifier key updates 🙀
- per review comments
- drop opt, cmd, and shiftL/shiftR

For: #7533
2023-02-06 15:47:18 -06:00
Steven R. Loomis
2a5d38e19f
Update developer/src/kmc-keyboard/test/fixtures/sections/keys/invalid-bad-modifier.xml
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-02-06 11:26:26 -06:00
Steven R. Loomis
41f77a874c feat(common): ldml different hardware support 🙀
- add HardwareToKeymap in common/web/types
- add a mt-iso keyboard, very close to stock mt.xml
- add machinery for parsing modifier key sequences
- more test machinery
- add assertions against invalid modifier sequences

Fixes: #7965
2023-02-03 19:00:57 -06:00
Steven R. Loomis
af10312f84 feat(common): ldml modifier support 🙀
- spec: update spec for layr.mod field
- core/include/ldm: update constants
- bitfield modelled after s_modifier_names[]  / LCTRLFLAG etc.
- new test case k_004_tinyshift, also update k_010_mt
- update const builder to ignore all *_map properties
- split utility out to utils, add test

For: #7533
(cherry picked from commit 0346bea488)
2023-02-03 18:54:22 -06:00
Steven R. Loomis
5c357fad81 feat(common): ldml: unit tests for import error messages from the compiler 🙀
- also, change loadFile in callbacks to return null when file isn't found.

For: #7534
(cherry picked from commit 33274dd2c8)
2023-02-03 18:39:51 -06:00
Steven R. Loomis
f527caaf0b feat(common): ldml updates to validation errors 🙀
- Apply suggestions from code review
- move m() into common code
- rename several error-related fields and types
- drop the 'unknown AJV error' - we expect errors to be populated
- halt compilation if validation fails, don't press on

For: #7534

Co-authored-by: Marc Durdin <marc@durdin.net>
(cherry picked from commit 05cc200f2027ee3c61280812a2de85ef20ea8b51)
2023-02-03 18:24:43 -06:00
Steven R. Loomis
0a0a9dcc27 feat(common): ldml: error messages from the compiler 🙀
- more refactor into common/web/types
- refactor test harness
- use reportMessage instead of throwing

For: #7964
(cherry picked from commit a112b847c4)
2023-02-03 18:24:43 -06:00
Steven R. Loomis
ae45295dc6 Merge remote-tracking branch 'upstream/master' into chore/merge-master-a17s5-REDO-epic-ldml 2023-02-03 16:53:35 -06:00
Sabine
76d3534871 chore(developer): changes in UnrechableRules::VerifyUnreachableRules() to run test_6440_unreachable_code..kmn 2023-02-03 13:27:51 +01:00
Marc Durdin
224402b9cc
Merge pull request #8151 from keymanapp/feat/developer/8119-duplicated-language-codes
feat(developer): check for duplicated language codes in package editor and compiler
2023-02-03 12:30:11 +11:00
Joshua A. Horton
9eded6c78d chore(common/web): Merge branch 'feature-esmodule-web-engine' into change/common/web/input-processor-modularization 2023-02-02 15:42:07 +07:00
Marc Durdin
8ee8325c74 feat(developer): check for duplicated language codes in package editor and compiler
Fixes #8119.
2023-02-02 15:06:15 +07:00
Joshua A. Horton
ede1068d51 chore(web): Merge branch 'master' into change/web/reorg-source-src-reorg 2023-02-02 09:18:46 +07:00
Joshua A. Horton
61a789a9ca chore(web): Merge branch 'master' into chore/web/top-level-build-script-rework 2023-02-02 08:58:44 +07:00
Sabine
dcd8ef8526 (chore(developer): changes in NamedCodeConstants::reindex() to run hieroglyphic.kmn properly 2023-02-01 16:50:01 +01:00
Sabine
d95a5eb44c (chore(developer): set flag_use_new_kmcomp to only use kmcmpdll...and back 2023-02-01 08:41:56 +01:00
Sabine
674f49e879 chore(developer): set flag_use_new_kmcomp to only use kmcmpdll...and back to kmcmplib 2023-02-01 08:39:54 +01:00
Steven R. Loomis
72bde8bd11 fix(developer) todo cleanup, common code, tests 🙀
- fixup import

For: #8069
2023-01-31 18:30:05 -06:00
Steven R. Loomis
8c940292b1 fix(developer) todo cleanup, common code, tests 🙀
- move some shared code out of key2/keys and into util.ts
- add unit tests
- delete a null test-base.ts

For: #8069
2023-01-31 16:06:49 -06:00
Sabine
814942c597 chore(developer): add BeginLine in kmcmpdll/Compiler.cpp; fread() in kmcmp_CompileKeyboardFileToBuffer 2023-01-31 20:19:05 +01:00
Marc Durdin
17359dbf53 chore(developer): kmcmpdll debug src path
Adds the src build path in for kmcmpdll.dll for debugging purposes, when
running from any subdirectory of the KEYMAN_ROOT path.
2023-01-31 15:56:30 +07:00
Steven R. Loomis
bbd850c03b feat(common): ldml: imports: use cldr version from constants 🙀
- common: more robustness in importing.
- build: don't copy imports to kmc which doesn't need it

supports #7964
2023-01-27 12:45:00 -06:00
Steven R. Loomis
e5c5fd025e feat(common): ldml: change importer to use callbacks for fs 🙀
supports #7964
2023-01-27 12:45:00 -06:00
Steven R. Loomis
727056cb87 feat(developer): ldml support implied keys 🙀
- automatically add the import

Fixes: #7964

Apply suggestions from code review

Co-authored-by: Marc Durdin <marc@durdin.net>
2023-01-27 12:41:39 -06:00
Steven R. Loomis
6fd2e418bc feat(common): ldml implement imports 🙀
add tests:
- k_100, k_101, k_102 all failed for different reasons.
- rename test cases from 'fail' to 'keytest' since they don't fail anymore

For: #7401

- update k101_fail.xml / k102_fail.xml to use an implied import
- update build.sh to bring over the imports from CLDR

For #7534
2023-01-27 12:40:22 -06:00
Steven R. Loomis
5a4b44f2d7 chore(common): move CompilerEvent, CompilerCallbacks into types 🙀
- make CompilerCallbacks an interface
- concrete implementations for Node (CLI) and for Testing
- change loadFile to take a string|URL 🙀

supports #7964
2023-01-27 12:37:54 -06:00
Sabine
4d945d478f chore(developer): rename Functions, version rc-files, set flag_use_new_kmcomp to use (old) kmcmpdll 2023-01-27 08:33:13 +01:00
Steven R. Loomis
592d4b0b5e
Merge pull request #7969 from keymanapp/feat/developer-7965-epic-ldml-spacebar
fix(common): update USVirtualKeyMap to actually be US🙀
2023-01-26 17:02:57 -06:00
Steven R. Loomis
70b351347a
Merge pull request #7570 from keymanapp/fix/core/7569-unicode-escaping-epic-ldml
fix(developer): ldml: fix for unescaping Unicode values 🙀
2023-01-26 14:29:17 -06:00
Steven R. Loomis
1d7e0d1922
Merge pull request #8030 from keymanapp/spec/core/7986-hardware-enum-epic-ldml
spec(core): ldml: make hardware be an enum 🙀
2023-01-26 14:05:26 -06:00
Steven R. Loomis
2f5459b929 fix(developer): test fix 🙀
- test case had two keys on the 'spacebar' row

For: #7965
2023-01-26 13:49:49 -06:00
Steven R. Loomis
2b3cedd5d4 fix(core): update escaping per review comment 🙀
- escape an emoji in source code

#7569
2023-01-26 13:13:36 -06:00
Steven R. Loomis
2af96fdb5b fix(developer): update error messages for layr 🙀
- per review notes, change from InvalidFile to specific errors

#7986
2023-01-26 12:38:46 -06:00
Steven R. Loomis
6500cda605 chore(developer): ldml layr: update tests, new utility for section tests 🙀
- updates from review comments
- new testCompilationCases to automate checking
2023-01-26 12:29:20 -06:00
Sabine
121d39883e chore(developer): typos, comments, add function u16rchr() 2023-01-23 14:56:35 +01:00
Marc Durdin
067028cec2 chore: revise tag variable name to VERSION_GIT_TAG
Introduce new $VERSION_GIT_TAG environment variable, and update all
references to release@version in all projects to use the new variable.
2023-01-21 17:02:50 +07:00
Steven R. Loomis
e63745baff chore(coverage): ldml setup for visual code coverage 🙀
- generate coverage/lcov.info files in several places that were already using c8
- change kmc-package's 'npm test' to include coverage, leave 'coverage' as alias
- gitignore the lcov files

Fixes #8060
2023-01-20 11:22:44 -06:00
Sabine
af20847229 chore(developer): rename some functions/variables 2023-01-20 09:37:09 +01:00
Joshua A. Horton
0e979a8fdf change(web): input-processor modularization - first pass 2023-01-20 14:50:56 +07:00