Commit graph

3626 commits

Author SHA1 Message Date
Marc Durdin
aa1c19c416 docs: address review comments 2024-11-13 10:21:36 +07:00
Marc Durdin
47c712750e docs(developer): kmc-generate
Relates-to: #12641
2024-11-08 09:55:21 +07:00
Marc Durdin
4c0588ea39 refactor(developer): define output path in kmc-generate artifacts 2024-10-22 10:25:30 +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
473fea9be0
Merge pull request #12464 from keymanapp/fix/developer/12454-use-richedit-for-debugger-memo
fix(developer): use richedit in debug memo to support Egyptian cartouches
2024-10-09 09:49:21 +02:00
Marc Durdin
76ebb5b02b
Merge branch 'master' into feat/common/12347-check-markdown-links 2024-10-09 05:16:31 +02:00
Marc Durdin
016a6f0225 chore(common): address review comments 2024-10-09 08:12:21 +07:00
Marc Durdin
e208d56419 fix(developer): use RichEdit 4.1 for debugger memos
Adds support for using RichEdit 4.1, and sets the richedit control into
the correct mode for rendering arbitrary Unicode correctly. Removes
some unnecessary per-character refresh for improved performance.

Fixes: #12454
2024-10-08 14:21:22 +07:00
Steven R. Loomis
9a4c7e5820 feat(developer): fast-xml-parser: typo fix in xml-utils.ts
Fixes: #12208
2024-10-07 13:05:50 -05:00
Marc Durdin
2e059e9730
Merge branch 'master' into feat/common/12347-check-markdown-links 2024-10-07 09:41:45 +02:00
Steven R. Loomis
03a24a1506 feat(developer): fast-xml-parser: fix for ldml empty attributes
- because of the form to="" in ldml, we need to distinguish attributes and sub-elements in the ldml xml parsing
- use an attributePrefix, and fixup the object tree afterwards

Fixes: #12208
2024-10-03 12:41:08 -05:00
Steven R. Loomis
6c0d240e09
Merge branch 'master' into feat/common/12208-fast-xml-parser3 2024-10-03 11:04:11 -05:00
Steven R. Loomis
e483318597
Merge pull request #12482 from keymanapp/feat/common/12208-unified-xml-parse
feat(common): unified XML parser/writer
2024-10-03 10:52:35 -05:00
Steven R. Loomis
3e168aafb2 chore(developer,common): deps: xml2js / fast-xml-parser
- remove vendored xml2js
- add fast-xml-parser@4.5.0
- Rewire the KeymanXMLReader / KeymanXMLWriter to use fast-xml-parser

Four small changes to the test data on the generated .kvks:
- allow " for XML generation (" is legal)
- use the same XML prologue as the actual .kvks files.
- treat <key></key> as <key/> since we can't distinguish
  (removed a "_": "" entry)
- remove whitespace because we now can ("_": "\n  \n \n") on non-leaf nodes.
  This is ignored by the kvks code, but was difficult to maintain roundtrip.

Fixes: #12208
2024-10-03 08:34:24 -05:00
Steven R. Loomis
158c4a7637 feat(developer): update the unified xml parser per review
- declarative syntax for options
- workaround an issue where xml2js is mutating our options objects
- improve tests

Fixes: #12208
2024-09-30 13:25:38 -05:00
Steven R. Loomis
eba7079694 chore(developer): update per style guide
Fixes: #12208
2024-09-30 10:00:46 -05:00
Darcy Wong
a85b701aed docs(developer): Fix image links in help 2024-09-30 15:28:08 +07:00
Marc Durdin
da8bad708e
Merge pull request #12478 from keymanapp/fix/developer/12476-warn-before-importing-over-touch-layout
fix(developer): warn before importing over touch layout
2024-09-28 04:34:31 +02:00
Marc Durdin
2d21b21135
Merge pull request #12427 from keymanapp/refactor/developer/12347-move-help-in-repo
refactor(developer): copy dev 17.0 help into repo
2024-09-28 04:34:13 +02:00
Steven R. Loomis
1780b1ebf3 feat(developer,common): use unified xml writer
Fixes: #12208
2024-09-27 18:53:54 -05:00
Steven R. Loomis
d540e4cda0 feat(common): unified xml writer test
Fixes: #12208
2024-09-27 18:37:40 -05:00
Steven R. Loomis
3832ca1c12 feat(developer,common): use unified xml parser
Subsystems changed:
- ldml keyboard reader (main and test)
- kpj
- kvks
- kmp compiler

test: made the test-xml-utils less verbose about the pathnames

Fixes: #12208
2024-09-27 17:49:32 -05:00
Steven R. Loomis
7da7375ee5 feat(common): xml: map \r\n to \n
- help make the parsed form identical across platforms

Fixes: #12208
2024-09-27 17:31:00 -05:00
Steven R. Loomis
609faf8047 feat(common): unified xml parser reader test
Fixes: #12208
2024-09-27 16:52:21 -05:00
Steven R. Loomis
7e631c1a73 feat(common): unified xml parser scaffolding
Fixes: #12208
2024-09-27 14:09:52 -05:00
Marc Durdin
7ff8c707e9 fix(developer): warn before importing over touch layout
Fixes: #12476
2024-09-26 17:31:43 -07:00
Marc Durdin
09979861ea chore(developer): fix kmc-generate test fixtures 2024-09-26 17:18:35 -07:00
Marc Durdin
58868474b1 chore(developer): cleanup targets and generated files in kmc-generate 2024-09-26 17:12:49 -07:00
Marc Durdin
025b9ed01f chore(developer): update eslint config path 2024-09-26 14:20:47 -07:00
Marc Durdin
10e4bba100
Merge branch 'master' into feat/developer/kmc-generate 2024-09-26 18:55:20 +02:00
Marc Durdin
60d888aad6
Merge pull request #12471 from keymanapp/fix/developer/12426-publish-developer-utils
fix(developer): publish developer-utils package during build
2024-09-26 18:34:58 +02:00
Marc Durdin
640d3e5096 test(developer): add markdown link check test for product documentation
Adds check-markdown package that parses .md files, looks for links and
images, and verifies that they are valid links (for internal links).
2024-09-25 15:51:32 -07:00
Marc Durdin
87db5fbf9d chore(developer): fixup missing documentation images 2024-09-25 15:51:00 -07:00
Marc Durdin
18d31a86c8
Merge branch 'refactor/common/12347-reorg-help' into refactor/developer/12347-move-help-in-repo 2024-09-26 00:47:11 +02:00
Marc Durdin
870dcabc90
Merge pull request #12468 from keymanapp/fix/developer/12449-row-keys-whitespace
fix(developer): ignore excess whitespace in `<row keys>` attribute
2024-09-26 00:32:06 +02:00
Marc Durdin
0b09ffabe5
Merge branch 'master' into context/options 2024-09-26 00:17:07 +02:00
Marc Durdin
035af7271c
docs: tweak content 2024-09-26 00:15:52 +02:00
Marc Durdin
87aff8d4a3 fix(developer): publish developer-utils package during build
Fixes: #12426
2024-09-25 14:22:03 -07:00
Marc Durdin
71f3d912a4 fix(developer): ignore excess whitespace in <row keys> attribute
Fixes: #12449
2024-09-25 07:33:42 -07:00
Marc Durdin
2c3ae9eba7 fix(developer): prevent invalid string ids
Adds checks for invalid string IDs and corresponding unit tests.

Fixes: #12451
2024-09-24 19:29:10 -07:00
Marc Durdin
25ea6a74dc fix(developer): use richedit in debug memo to support Egyptian cartouches
RichEdit allows text selection one character past end-of-string, so we
need to cater for that as well in passing text ranges to the character
grid.

Fixes: #12454
2024-09-24 08:24:47 -07:00
Marc Durdin
4ed865c128
Merge pull request #12432 from keymanapp/chore/developer/remove-js-from-ldml-compiler
chore(developer): remove .js output from LDML compiler
2024-09-19 18:58:47 +02:00
Eberhard Beilharz
090a331de4
Merge pull request #12438 from keymanapp/fix/core/dependency
fix(core): add missing dependency for core
2024-09-19 13:53:15 +07:00
Eberhard Beilharz
0dbae5c199
fix(core): add missing dependency for core
Core depends on `kmc` which in turn depends on `core/include/ldml`. This
change adds the missing dependency to the build script and fixes building
core from a clean `core` subdirectory.

# 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
2024-09-17 18:28:02 +02:00
Marc Durdin
ec6c26c7f7 feat(developer): add .gitignore to kmc generate templates 2024-09-17 17:05:37 +07:00
Marc Durdin
48d4e65cf0 fix(developer): copy templates into bundle 2024-09-17 17:05:13 +07:00
Marc Durdin
96f6654a90 chore(developer): remove .js output from LDML compiler 2024-09-17 16:06:59 +07:00