Commit graph

5323 commits

Author SHA1 Message Date
Steven R. Loomis
b59bb6d4de feat(developer): serialize KMXPlus into XML 🍒
Cherry pick of #12969
> feat(developer): serialize KMXPlus (back) into XML 🗼

(cherry picked from commit f93c45c9e8 #12969)

Fixes: #12874
2025-02-10 12:12:12 -06:00
Marc Durdin
2d5e3ee440
Merge pull request #13156 from keymanapp/feat/developer/13134-improve-messages-and-links
feat(developer): improve compiler messages and user interface
2025-02-10 08:19:11 +07:00
Marc Durdin
d4ecd83459 chore(developer): use kmn.sh instead of deeplink into help.keyman.com for message links 2025-02-07 12:50:38 +07:00
Marc Durdin
bd4633333b feat(developer): improve compiler messages and user interface
* Add unit test to verify the format of message detail strings
  (max line length of 80 chars)
* Add unit test to verify non-null, non-empty message strings
* Tidy up a number of messages (to pass unit tests)
* Add message details for all kmw compiler messages
* Add a clickable link for the TIKE message window for each message
  so that explanations and further message details are more accessible
  to authors (`kmc message` is already available for command-line users)
* Fixes a number of minor issues with the messages window in TIKE,
  mostly relating to when popup menu commands are enabled and how
  messages are selected.

Fixes: #13134
2025-02-07 08:46:46 +07:00
rc-swag
46c6a44f90
Merge pull request #13115 from keymanapp/feat/windows/13114/merge-update-reg-key
feat(windows): check updates and automatic update merged
2025-02-06 21:46:45 +10:00
Marc Durdin
7d70b6c31d
Merge pull request #13076 from keymanapp/feat/developer/13073-kmc-copy-ui-in-developer
feat(developer): add user interface for `kmc copy` to TIKE
2025-02-05 11:30:22 +07:00
Dr Mark C. Sinclair
6ead43b899
Merge pull request #13122 from keymanapp/fix/common/web/types/12945-replace-invalid-StrsItem-identity-checks-with-isEqual
fix(common/web): replace invalid StrsItem identity checks with isEqual()
2025-02-04 11:20:53 +00:00
Dr Mark C. Sinclair
6d060df601 fix(common/web): add two test cases for Strs.allocString() 2025-02-03 15:02:05 +00:00
Dr Mark C. Sinclair
0fabe6614a fix(common/web): add test cases for Strs implicit constructor and allocString for a one-character string 2025-02-03 12:47:58 +00:00
Dr Mark C. Sinclair
bdfa21128e fix(common/web): initial boiler plate for kmx-plus-tests.ts 2025-02-03 11:57:05 +00:00
Marc Durdin
5fea5b32cd fix(common): handle undefined input in @keymanapp/langtags lookups
Matches prior behaviour when langtags was part of kmc-keyboard-info.

Fixes: #13116
2025-02-03 12:40:10 +07:00
rc-swag
9eec271011 feat(windows): check updates and automatic update merged
Check updates meaning has slightly changed it is now automatic updates
and it will now check, download and when possible start the install.

Previously it just meant a check for upates was made and notified
the user of updates.

Fixes:#13114
2025-02-03 14:25:44 +10:00
Steven R. Loomis
4f6c34de8c
Merge pull request #13099 from keymanapp/feat/developer/12749-ldml-local-import-workaround
chore(developer,core,resources): LDML v46 update and remove workaround for import base
2025-01-31 11:16:12 -06:00
Steven R. Loomis
2c32fb7903 chore(resources, developer,core): CLDR 46 and workaround
Fixes: #11307
- import from CLDR 46, mostly unchanged

Fixes: #12749
- workaround LDML DTD bug CLDR-18138 where base= does not imply base=cldr
2025-01-30 15:41:34 -06:00
Marc Durdin
ffdbfab775 chore: add copyright and license to langtags readme 2025-01-30 14:04:38 +07:00
Marc Durdin
46fc4d52cf feat(developer): add user interface for kmc copy to TIKE
Adds a new set of 'New Project' dialogs to allow authors to easily copy
keyboards from local filesystem, Keyman Cloud (including a keyboard
search web page, implemented in keymanapp/keyman.com#536), and
directly from a GitHub URL. Adds related documentation.

Fixes: #13073
Depends-on: keymanapp/keyman.com#536
2025-01-30 11:04:18 +07:00
Marc Durdin
c74e841ed7 chore(common): add README.md for langtags package 2025-01-27 11:55:10 +07:00
Marc Durdin
b49334d9cf chore(developer): use langtags.json for kmc-generate language names
Also fills out the remaining functionality in @keymanapp/langtags.

Fixes: #13045
2025-01-27 11:47:25 +07:00
Marc Durdin
75d77704a2 refactor: move langtags to @keymanapp/langtags npm module
We want to use langtags in several modules, so it makes sense to make it
into its own NPM module.

Relates-to: #13045
2025-01-27 09:59:38 +07:00
Marc Durdin
60a88584e4
Merge branch 'master' into fix/developer/12123-support-displaymap-font-in-web-debugger 2025-01-20 15:14:45 +07:00
Dr Mark C. Sinclair
d5c3e43f20
Merge pull request #12882 from keymanapp/fix/common/web/types/1288-handle-invalid-order-and-tertiary-arguments-to-ElementString-fromString
fix(common/web): handle invalid order and tertiary arguments to ElementString.fromString()
2025-01-18 15:58:55 +00:00
Dr Mark C. Sinclair
77f085eb1a chore(common/web): Merge branch 'master' into fix/common/web/types/1288-handle-invalid-order-and-tertiary-arguments-to-ElementString-fromString 2025-01-17 12:50:48 +00:00
Dr Mark C. Sinclair
49b64a05ac chore(common/web): Merge branch 'master' into fix/common/web/types/12867-add-StrsItem-isEqual-method 2025-01-17 12:46:47 +00:00
Steven R. Loomis
a245f14524
Merge branch 'master' into test/common/web/types/9052-unit-tests-element-string 2025-01-16 21:53:57 -08:00
Marc Durdin
7cb6be6a97 fix(developer): support &displayMap font in web debugger
Adds a new design-time font property for when `&displayMap` is in use in
a keyboard, so that the web debugger can use that font as appropriate.

If the keyboard does not have a `&displayMap` store, then the DisplayMap
font property is disabled, and the web debugger will use the OSK Font
instead, as previously was the case.

Note that the font for `&displayMap` has to be installed on the keyboard
author's system in order for it to be served up.

Fixes: #12123
2025-01-17 11:03:20 +07:00
rc-swag
16a529c52c chore: Merge branch 'master' into chore/merge-master-epic-windows-updates
# Keyman Conventional Commit suggestions:
#
# - Link to a Sentry issue with git trailer:
#     Fixes: _MODULE_-_ID_
# - Give credit to co-authors:
#     Co-authored-by: _Name_ <_email_>
# - Use imperative, present tense ('attach' not 'attaches', 'attached' etc)
# - Don't include a period at the end of the title
# - Always include a blank line before trailers
# - More: https://github.com/keymanapp/keyman/wiki/Pull-Request-and-Commit-workflow-notes
2025-01-16 09:16:01 +10:00
Dr Mark C. Sinclair
d48ccda140 fix(common/web): add test cases for parseIntOrZero() 2025-01-13 12:05:39 +00:00
Dr Mark C. Sinclair
a279767acc fix(common/web): add ElementString.parseIntOrZero() method to handle invalid order and tertiary params 2025-01-13 11:37:58 +00:00
Dr Mark C. Sinclair
b9c7835fbf fix(common/web): add isEqual() method to StrsItem and use it in ElemElement.isEqual() 2025-01-09 14:45:35 +00:00
Dr Mark C. Sinclair
9d555a0639 chore(common/web): introduce initElementString() to remove dependency on fromStrings() in isEqual() tests 2025-01-09 14:12:56 +00:00
Dr Mark C. Sinclair
23b3de14d9 chore(common/web): clarify describe strings 2025-01-09 12:08:15 +00:00
Dr Mark C. Sinclair
86095d4b11 chore(common/web): add test case for string ElemElement 2025-01-09 12:03:51 +00:00
Dr Mark C. Sinclair
704486ae2e chore(common/web): add two more test cases for ElementString.isEqual() 2025-01-09 11:27:52 +00:00
Dr Mark C. Sinclair
c615f82db2 chore(common/web): add test cases for ElemElement.isEqual() and ElementStrings.isEqual() 2025-01-06 16:41:36 +00:00
Dr Mark C. Sinclair
80d2f49824 chore(common/web): add test case for quad string in ElementString.fromStrings() 2025-01-06 15:50:07 +00:00
Dr Mark C. Sinclair
e169ece9a3 chore(common/web): add two test cases for uset parse failures 2024-12-19 17:32:42 +00:00
Dr Mark C. Sinclair
58e5f0fe94 chore(common/web): stub the ElementParser.segment for uset 2024-12-19 17:21:05 +00:00
Dr Mark C. Sinclair
9569ef208c chore(common/web): corrected nesting error, and moved more code into fixtures 2024-12-19 17:11:15 +00:00
Dr Mark C. Sinclair
7694623fc9 chore(common/web): add first uset test case with supporting stubs and TestUnicodeSetParser class 2024-12-19 16:19:21 +00:00
Dr Mark C. Sinclair
1ae53a042b chore(common/web): add test cases for non-number in order and tertiary strings 2024-12-19 14:43:15 +00:00
Dr Mark C. Sinclair
0585b3f639 chore(common/web): add four test cases for order etc strings that are too short 2024-12-19 12:13:46 +00:00
Dr Mark C. Sinclair
e6abbf027f chore(common/web): stub out strs.allocString() 2024-12-19 12:00:33 +00:00
Dr Mark C. Sinclair
aef4ef41f0 chore(common/web): add four test cases for tertiary_base and prebase arguments to fromStrings() 2024-12-16 18:04:43 +00:00
Dr Mark C. Sinclair
5e4d699a72 chore(common/web): add four test cases for order andf tertiary arguments to fromStrings() 2024-12-16 17:51:29 +00:00
Dr Mark C. Sinclair
09168fc083 chore(common/web): remove unneeded local variables 2024-12-16 17:38:32 +00:00
Dr Mark C. Sinclair
76316f1661 chore(common/web): add test case for fromStrings() from string 2024-12-16 17:07:52 +00:00
Dr Mark C. Sinclair
703fd2cbe6 chore(common/web): add use case for string array 2024-12-16 15:41:00 +00:00
Dr Mark C. Sinclair
77076eb9ed chore(common/web): add first test case for ElementString() 2024-12-16 12:43:53 +00:00
Dr Mark C. Sinclair
ee23da5647 chore(common/web): add five test cases for ElemElement.isEqual() 2024-12-16 12:17:18 +00:00
Dr Mark C. Sinclair
3ad9fd26f7 chore(common/web): Merge branch 'master' into test/common/web/types/9052-unit-tests-element-string 2024-12-16 11:45:55 +00:00