Commit graph

2534 commits

Author SHA1 Message Date
Steven R. Loomis
e4e7d9fd27
Merge branch 'feat/core/10319-escaping-you-epic-ldml' into feat/developer/10319-remove-old-escape-epic-ldml 2024-01-17 18:49:50 -06:00
Steven R. Loomis
9e828b1369
Merge branch 'master' into feat/core/10319-escaping-you-epic-ldml 2024-01-17 18:49:26 -06:00
Marc Durdin
d2580c6a73
Merge pull request #10258 from keymanapp/feat/developer/10150-control-message-severity
feat(developer): add `-m` parameter to kmc to control message severity
2024-01-16 14:01:27 +11:00
Steven R. Loomis
eb39bba374 chore(developer,core): change sample and test files to use \u{…} 🙀
- #10389 will require this, but at least change the test files

#10319
2024-01-15 17:27:41 -06:00
Steven R. Loomis
c0928e1835
Merge branch 'master' into feat/core/10319-escaping-you-epic-ldml 2024-01-15 16:45:38 -06:00
Steven R. Loomis
e0a2ce22d7 feat(developer): 32 bit escapades 🙀
- basic.txt fixup

#10319
2024-01-15 14:06:50 -06:00
Marc Durdin
779196e1fd
Merge pull request #10364 from keymanapp/feat/developer/10191-warn-on-gestures-downlevel
feat(developer): warn on gesture support for downlevel
2024-01-15 12:34:37 +11:00
Eberhard Beilharz
67cf76362d
Merge pull request #10354 from keymanapp/refactor/linux/10212_set-context
refactor(linux): Use `km_core_state_context_set_if_needed`
2024-01-12 08:54:21 +01:00
Joshua Horton
daba49ec83
Merge pull request #10328 from keymanapp/fix/developer/test-page-model-register
fix(developer): test-page model loading
2024-01-12 14:00:59 +07:00
Marc Durdin
9830f9ea24 refactor(core): use km_core_state_context_clear where possible
Relates to #10365.

Use `km_core_state_context_clear()` instead of `km_core_context_clear()`
as part of eliminating use of `km_core_state_context()`.
2024-01-12 12:05:00 +07:00
Steven R. Loomis
d662f67955 feat(developer,common): all unescaping as \uXXXX 🙀
- update unescaping from \u{…} to \uXXXX in regex
- re-unescape in the string analyzr (empty-compiler.ts) so that we catch PUA etc.
- fix some XML files that had bad DTDs
- common; updates to string util api

#10319
2024-01-11 13:07:26 -06:00
Steven R. Loomis
c49dab2103 feat(core): unscape u 🙀
- update unescaping from \u{…} to \uXXXX

#10319
2024-01-11 11:43:14 -06:00
Marc Durdin
d0aa477ca5 feat(developer): warn on gesture support for downlevel
Fixes #10191.
2024-01-11 15:36:35 +07:00
Marc Durdin
33f0faf4f7
Merge pull request #10323 from keymanapp/fix/developer/10276-new-file-for-2.0-projects
fix(developer): new file support for project 2.0
2024-01-11 18:40:26 +11:00
Marc Durdin
ade94d67ca
Merge pull request #10322 from keymanapp/fix/developer/10315-fill-from-layout-handle-new-file
fix(developer): cleanly handle filling a new osk file from layout
2024-01-11 18:40:14 +11:00
Marc Durdin
50d248f57d chore(developer): address review comments 2024-01-10 14:25:58 +07:00
Marc Durdin
af5e073b11 chore(developer): fixup reference to kmc-model-info 2024-01-10 14:13:57 +07:00
Joshua A. Horton
3870509465 fix(developer): model should activate instantly if matching keyboard exists when registered 2024-01-08 10:00:07 +07:00
Joshua A. Horton
b4944c7b5a fix(developer): fixes test-page model registration hook 2024-01-08 09:44:37 +07:00
Marc Durdin
070ead74cf fix(developer): new file support for handle project 2.0
Fixes #10276.

Adding new files to a v2.0 project was unsupported. This requires a
little bit of a logic change to the two new File New dialogs:

1. The New File Details dialog does not allow changing from the
   SourcePath of the project.
2. The New File dialog does allow changing to any path. If you select a
   path outside the project path, it will open in a new window.
2024-01-05 14:19:02 +07:00
Marc Durdin
beddf05afa fix(developer): cleanly handle filling a new osk file from layout
Fixes #10315.

When filling from layout, if the .kvks file did not exist, an obscure
error was generated:

    Error: 2908 Error encountered parsing eo_plus.kvks: TypeError: Cannot read properties of null (reading 'byteLength')

Fixed this by checking for file existence before attempting to process,
which then reports a more understandable error of 'file not found'.

Then, needed to tweak the caller in Keyman Developer IDE to remove the
reference to the .kvks file before attempting to build
(chicken-and-egg).
2024-01-05 13:35:43 +07:00
Marc Durdin
84ff0424c3 fix(developer): remove unused tools/customise menu 2024-01-05 12:49:39 +07:00
Steven R. Loomis
8b65010892
Merge pull request #10306 from keymanapp/feat/developer/9121-reject-bad-regex-epic-ldml
feat(developer): escape bad markers 🙀
2024-01-03 11:47:11 -06:00
Steven R. Loomis
54c77e2de9
Merge pull request #10300 from keymanapp/fix/developer/10291-layer-errs-epic-ldml
fix(developer): quell internal error when  a section fails 🙀
2024-01-02 17:05:00 -06:00
Steven R. Loomis
a6151e681b
Merge branch 'chore/core/ldml-test-robust-epic-ldml' into feat/developer/9121-reject-bad-regex-epic-ldml 2024-01-02 17:04:37 -06:00
Marc Durdin
d6b296c5f3 chore(developer): fix typo 2024-01-02 13:01:22 +07:00
Marc Durdin
ee6814c67a
Merge pull request #10218 from keymanapp/chore/developer/10162-honor-prompt-to-upgrade-in-kmc
chore(developer): honor prompt to upgrade in kmc
2024-01-02 15:36:48 +11:00
Marc Durdin
edc950727f
Merge pull request #10208 from keymanapp/feat/developer/9473-kmc-module-api-consolidation
feat(developer): Consolidate public APIs for kmc modules
2024-01-02 15:35:47 +11:00
Steven R. Loomis
80ba5aa0ce fix(developer): escape markers as regex 🙀
- escape markers to prevent the n'th marker from having some other meaning
2023-12-30 11:18:51 -06:00
Steven R. Loomis
21a7680278 fix(developer): quell internal error when a section fails 🙀
- when a required section is missing, only throw an internal error IF we haven't already flagged a problem.  for example, if 'vars' fails to compile because of a problem, and we already have an error on file, then don't throw an internal error that 'bksp' depends on uninitialized 'vars'.

- mimic this flow in the test helpers.

- add a test case for this in the test helpers, in test-tran

- add a strictError flag to say that no additional errs are allowed.

Fixes: #10291
2023-12-21 22:14:54 -06:00
Steven R. Loomis
1b944e7578 feat(developer): update to basic.txt for key-not-found 🙀
- rest of keys.
- found that the reserved gap key was 1/10th width, but fixed

For #9451
2023-12-15 18:02:06 -06:00
Steven R. Loomis
fd5cf041ff feat(developer): update to basic.txt for key-not-found 🙀
- add the new gap key
- start adding the additional vkeys

For #9451
2023-12-14 19:06:49 -06:00
Marc Durdin
0ebc5d6aab feat(developer): add -m parameter to control message display
Fixes #10150.

This feature adds a command line parameter to kmc to control the
severity of INFO, HINT and WARN level messages. The severity of any of
these messages can be reduced all the way to INFO, or even disabled, or
increased to ERROR. The compiler and the reporter will honour the new
code and fail builds when failure-level codes are encountered.

Inputs are validated against all the available compiler messages in all
modules. This also provides a good pathway for automated future
documentation generation of compiler messages.

In order to process the input parameters cleanly, have refactored some
of kmc's build command logic.

This commit increases code coverage for kmc to roughly 50%.
2023-12-14 13:17:29 +07:00
Marc Durdin
bfc35e9272 feat(developer): common Messages exports from kmc modules
Relates to #10150. Makes the various Messages classes in kmc modules
accessible to other modules. Some file renames involved to reduce
confusion.

No functional changes.

Fixes kmc-analyze metadata.

See #10254 for a related future fix.
2023-12-14 09:40:18 +07:00
Steven R. Loomis
5fd1f98f7f feat(developer): fix import 🙀
For #9451
2023-12-13 18:28:55 -06:00
Marc Durdin
2a73725839 chore(developer): fix duplicated message number 2023-12-13 08:59:57 +07:00
Marc Durdin
67b1b65337 chore(developer): Merge branch 'master' into feat/developer/9473-kmc-module-api-consolidation 2023-12-13 08:07:09 +07:00
Steven R. Loomis
c3dfc9422f feat(developer): add reserved gap keys to fill out the layer 🙀
- fix the row loop

For #9451
2023-12-12 18:51:12 -06:00
Steven R. Loomis
a4f20f99e4 feat(developer): add reserved gap keys to fill out the layer 🙀
- add keys on each row and add rows, mapping to a new reserved "gap (reserved)" key.
- add a mechanism for reserved keys, in case we have others…

For #9451
2023-12-12 18:42:25 -06:00
Marc Durdin
e2ce64d9be fix(web): mocha describe does not do async
mocha describe() does not accept an async function. Any async prep
should be done in a before() function, which does support async.

One helpful ref: https://github.com/mochajs/mocha/issues/2975#issuecomment-1004176440
2023-12-13 05:38:51 +07:00
Marc Durdin
69a11c9ceb chore(developer): Merge branch 'master' into feat/developer/10161-developer-settings-in-rc 2023-12-13 05:05:53 +07:00
Marc Durdin
60bb1e4d9e chore(developer): Merge branch 'master' into feat/developer/9473-kmc-module-api-consolidation 2023-12-13 05:01:20 +07:00
Marc Durdin
2f59e8d38b
Merge pull request #10211 from keymanapp/fix/developer/10091-10194-touch-layout-builder-errors
fix(developer): two errors in touch layout editor
2023-12-13 08:46:04 +11:00
Marc Durdin
1b45c6b8e9
Merge pull request #10155 from keymanapp/feat/developer/10138-new-project-new-process
feat(developer): New Project opens in new process 🦕
2023-12-13 08:45:53 +11:00
Marc Durdin
0b05013fc8
Merge pull request #10154 from keymanapp/feat/developer/10149-window-menu
feat(developer): Add Window menu 🦕
2023-12-13 08:45:43 +11:00
Marc Durdin
1f06224c6e
Merge pull request #10151 from keymanapp/fix/developer/10144-10145-10146-10148
fix(developer): various project fixes 🦕
2023-12-13 08:45:30 +11:00
Marc Durdin
ee7d6e67d9 chore(developer): refactor IsTemporaryProject 2023-12-13 04:43:34 +07:00
Marc Durdin
3d250fecc0 chore(developer): ensure unit tests have default options set 2023-12-12 07:38:13 +07:00
Marc Durdin
89254296db chore(developer): honor prompt to upgrade in kmc
Fixes #10162.
2023-12-11 21:17:00 +07:00
Marc Durdin
ff87042974 chore(developer): make getOption synchronous 2023-12-11 21:16:16 +07:00