Commit graph

3898 commits

Author SHA1 Message Date
Steven R. Loomis
61b9234daf feat(developer): document test cases
Fixes: #13175
2025-02-20 08:20:50 -06:00
Steven R. Loomis
7e28758892
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2025-02-20 08:18:55 -06:00
Steven R. Loomis
3c3d2586e6 chore(developer): ldml: build updates for ABNF
- fix build output

Fixes: #13175
2025-02-18 11:05:55 -06:00
Steven R. Loomis
92463b9a89 feat(developer): ldml: update tests for ABNF
- reinstate errors

Fixes: #13175
2025-02-17 16:17:03 -06:00
Steven R. Loomis
24f629a9f1 feat(developer): ldml: update tests for ABNF
- some error messages are less specific now than they were before ABNF, because we're not using custom code to test them.

Fixes: #13175
2025-02-14 16:29:16 -06:00
Steven R. Loomis
2e842bc19c feat(developer): update builder for abnf
- just convert over all abnf (as we do with copying imports)
- hard coded CLDR version number for now

Fixes: #13175
2025-02-14 13:12:11 -06:00
Steven R. Loomis
53b20e6adc feat(developer): use peggy grammar in from/to transform
Fixes: #13175
2025-02-14 12:27:15 -06:00
Steven R. Loomis
a2a0e79675 feat(core): convert abnf to peggy grammar
- convert each .abnf to a .pegjs file

Fixes: #13175
2025-02-14 12:27:15 -06:00
Steven R. Loomis
8c163594bc
Merge branch 'master' into feat/developer/12874-kmx-to-xml-cherrypick 2025-02-13 13:10:37 -06:00
Marc Durdin
342f216291 chore: increment to alpha 19.0 2025-02-11 14:14:15 +07:00
Steven R. Loomis
9a33a26d5c feat(developer): preserve CLDR version on serialize
Fixes: #12874
2025-02-10 12:35:25 -06:00
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
7554786bc3
Merge pull request #13161 from keymanapp/fix/developer/13135-new-project-welcome-and-model-file-format
fix(developer): link welcome.htm in package for new projects; use v17 project format for new models
2025-02-10 09:10:07 +07:00
Marc Durdin
c1b930217b
Merge branch 'master' into feat/developer/13109-check-that-package-does-not-contain-itself 2025-02-10 08:20:05 +07: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
b9c0c180db
Merge pull request #13131 from keymanapp/fix/developer/13052-support-non-us-base-keyboard-in-debugger
fix(developer): support non-US base keyboard layouts in debuggers
2025-02-10 08:19:04 +07:00
Marc Durdin
d5a594ad81
Merge pull request #13118 from keymanapp/feat/developer/13067-verify-version-format-in-kmc-package
feat(developer): verify package version number format in kmc-package
2025-02-10 08:18:53 +07:00
Marc Durdin
503d045fee fix(developer): for new projects, link welcome.htm in package; use v17 project format for new models
* Links welcome.htm in the package details for all project types
* Uses v17 project file format for new lexical model projects
* Nit: changes shortcut key for 'supported languages' from 'l' to 's'
  to fix conflict with 'full copyright'.

Fixes: #13135
2025-02-07 13:50:11 +07:00
Marc Durdin
a00e446ee7
chore(developer): use correct .kmp file extension in fixture
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2025-02-07 05:11:47 +01:00
Marc Durdin
4509aca88a feat(developer): verify that packages do not contain themselves in kmc-package
Fixes: #13109
2025-02-07 09:30:07 +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
Marc Durdin
432f975283 fix(developer): support non-US base keyboard layouts in debuggers
Keyman Core expects US English virtual key codes, so make sure that the
debuggers translate the key codes they receive from Windows to the hard-
coded values for US English, as defined in ScanCodeMap.

Fixes: #13052
2025-02-05 15:22:24 +07:00
Marc Durdin
662ad0f4c1
Merge pull request #13080 from keymanapp/chore/developer/add-verbose-logs-for-copier
chore(developer): add verbose logs for project copier
2025-02-05 11:30:33 +07: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
Marc Durdin
2df63dddae
Merge pull request #13075 from keymanapp/fix/developer/13072-make-kmc-log-options-consistent
fix(developer): make kmc log options consistent across all commands
2025-02-05 11:30:10 +07:00
Marc Durdin
9db0d086dc
Merge pull request #13113 from keymanapp/feat/developer/kmc-include-command-line-in-sentry-reports
feat(developer): include command line in kmc sentry reports
2025-02-04 11:43:12 +07:00
Marc Durdin
4a879acd9d chore(developer): minimize PII in sentry cmdline report 2025-02-04 10:12:23 +07:00
Marc Durdin
439c091c9e chore: update docs to reference node 20.0
Relates-to: keyman-keyboards/khmer_angkor#1
2025-02-04 07:58:52 +07:00
Marc Durdin
706f3996c2 chore(developer): prevent leading zeroes in initial component of version number 2025-02-03 14:07:38 +07:00
Marc Durdin
6dbc20f87b feat(developer): verify package version number format in kmc-package
Ensures that version number field is not blank, and is a recognized
format matching the pattern 'number[.number[.number]]'. Each number
component should be an integer, without leading zeroes.

The format chosen is more restrictive than semver, because much of our
existing infrastructure assumes this format anyway. This does lead to
a mismatch in version number format for LDML keyboards, which do support
semver according to the spec, so this may need to be revisited in the
future to allow for full semver formats.

Fixes: #13067
2025-02-03 14:00:58 +07:00
Marc Durdin
adf4b80bc0 chore(developer): make kmc-generate more resilient with nullish options 2025-02-03 10:30:13 +07:00
Marc Durdin
072c47b853 fix(developer): pass correct generator options from kmc
Also add some resilience to option usage in kmc-generate; more work may
need to be done here in future.

Fixes: #13110
2025-02-03 10:13:36 +07:00
Marc Durdin
05c17e3439 feat(developer): include command line in kmc sentry reports
In order to reproduce kmc errors, it's very helpful to know how it was
instantiated. This change includes the command line call for kmc. This
includes things such as a keyboard filename and may include file paths,
but does not include private personal information or secrets.
2025-02-03 09:53:45 +07: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
72928c19ef chore(developer): LDML update issue
- missed a windows installer location

Fixes: #11307
2025-01-31 09:04:45 -06:00
Steven R. Loomis
622900a5d8 chore(developer): LDML update issue
- test needed to be updated

Fixes: #11307
2025-01-30 23:42:10 -06:00
Steven R. Loomis
b54ea40770 chore(developer): update comments per review
- note that 45,46,47 are the same data and so aliased

Fixes: #11307
2025-01-30 23:13:36 -06:00
Marc Durdin
60b00e8645
Merge pull request #13081 from keymanapp/chore/developer/handle-forward-slash-in-paths-in-package-editor
chore(developer): handle forward slashes in paths in package editor
2025-01-31 11:51:02 +07:00
Marc Durdin
595f486414
chore: Apply suggestions from code review
Co-authored-by: rc-swag <58423624+rc-swag@users.noreply.github.com>
2025-01-31 05:05:23 +01:00
Marc Durdin
afa3e3a0b2 feat(developer): clarify project id format for kmc-copy UI
Fixes: #13073
2025-01-31 11:01:40 +07:00
Marc Durdin
46be7a8b10 chore(developer): roll back unwanted package editor form changes 2025-01-31 08:58:19 +07:00
Marc Durdin
7147851b54 chore(developer): remove unused VERBOSE_CopyingFolder message from kmc-copy 2025-01-31 08:56:56 +07:00
Marc Durdin
de4c5076d9
Merge pull request #13061 from keymanapp/feat/developer/13060-relocate-files-in-kmc-copy
feat(developer): support relocation of external files in kmc-copy
2025-01-31 06:06:32 +07:00
Marc Durdin
fcd9165854
Merge pull request #13047 from keymanapp/chore/developer/13045-use-langtags-json-for-kmc-generate
chore(developer): use langtags.json for kmc-generate language names
2025-01-31 06:06:23 +07:00
Marc Durdin
10b6151bf7
Merge pull request #13046 from keymanapp/refactor/13045-move-langtags-to-its-own-npm-module
refactor: move langtags to @keymanapp/langtags npm module
2025-01-31 06:06:13 +07:00
Steven R. Loomis
b35ba06a2b chore(developer): remove workaround for base=""
Fixes: #12749
2025-01-30 15:48:02 -06:00
Steven R. Loomis
b741a88ca0 chore(core,developer): treat CLDR v45, 46, 46.1, 47 as 46
Fixes: #11307
2025-01-30 15:42:30 -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
0dc1ef2ac0 chore(developer): handle forward slashes in paths in package editor 2025-01-30 13:58:14 +07:00
Marc Durdin
2a728b49f8 chore(developer): add verbose logs for project copier 2025-01-30 13:57:13 +07:00