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
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
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
d2aa22ff75
fix(developer): make kmc log options consistent across all commands
...
Makes the `--log-format`, `--log-level`, and `--color`/`--no-color`
options available for all commands and DRYs out some of the options
processing for consistency. This has positive impact in particular on
the Generator classes which removes the need for several unit tests as
the interface can now be checked at compile time.
Fixes : #13072
Unblocks: #13073
2025-01-30 09:20:29 +07:00
Marc Durdin
192e932949
feat(developer): support relocation of external files in kmc-copy
...
Fixes : #13060
2025-01-28 12:24:04 +07:00