Commit graph

1772 commits

Author SHA1 Message Date
Marc Durdin
8501f2aa6d feat(core): add deleted_context to km_core_actions struct
Fixes #10530.

Adds the deleted_context member to the km_core_actions struct, and
associated unit tests. Simplifies integration by providing the consumer
with all the data they need in order to execute the transform,
specifically around number of delete operations required, without
needing to query the target application context again. The number of
delete operations will vary according to application compliance and
selected encoding; for example a UTF-16 string may require 2
delete-backs for surrogate pairs in the text buffer for a compliant app,
whereas there will be a single delete-back key event for a non-compliant
app.

The deleted_context member should also be used for debug assertions.
2024-01-29 13:21:25 +07:00
Marc Durdin
0e16d7218b fix(developer): support surrogate pairs in ldml debugger
Fixes #10501.
2024-01-29 10:57:58 +07:00
Marc Durdin
5c63ec588e
Merge pull request #10474 from keymanapp/fix/developer/10470-ldml-keyboard-template
fix(developer): tidy up LDML keyboard project template 🌱
2024-01-26 15:31:27 +11:00
Marc Durdin
95d3261a8a
Merge pull request #10473 from keymanapp/fix/developer/10469-use-keyboard3-tag
fix(developer): use keyboard3 tag rather than DTD to identify LDML keyboard xml files 🌱
2024-01-26 15:31:14 +11:00
Marc Durdin
e98c202458
Merge branch 'epic/core/9999-normalization' into feat/developer/10416-10458-ldml-debugger-markers 2024-01-26 10:18:37 +11:00
Marc Durdin
6212b47171
Merge pull request #10462 from keymanapp/refactor/developer/10214-debugger-app-context
refactor(developer): update app context as well as cached context for keyboard debuggers 🌱
2024-01-26 10:18:18 +11:00
Marc Durdin
c5e9a8ce35
Merge branch 'refactor/developer/10214-debugger-app-context' into feat/developer/10416-10458-ldml-debugger-markers 2024-01-26 09:50:06 +11:00
Marc Durdin
ab03a49a27
Merge pull request #10461 from keymanapp/fix/developer/10456-ldml-keyboard-editor-font
fix(developer): support for char + code font in LDML keyboard editor 🌱
2024-01-25 19:30:06 +11:00
Marc Durdin
0c339213b7
Merge pull request #10460 from keymanapp/fix/developer/10457-ldml-keyboard-editor-xml-mode
fix(developer): Use XML mode for LDML keyboard editor 🌱
2024-01-25 19:29:56 +11:00
Marc Durdin
882af831f2
Merge pull request #10459 from keymanapp/feat/developer/10420-ldml-keyboard-test
feat(developer): LDML Keyboard Test Window 🌱
2024-01-25 19:29:47 +11:00
Marc Durdin
fc7677f064
Merge pull request #10493 from keymanapp/fix/developer/10490-sentry-cli-boilerplate
fix(developer): sentry-cli no longer injects into .d.ts 🌱
2024-01-25 10:21:24 +11:00
Marc Durdin
4f25e80ccb
Merge branch 'fix/developer/10456-ldml-keyboard-editor-font' into refactor/developer/10214-debugger-app-context 2024-01-24 19:39:45 +11:00
Marc Durdin
d6a9c74762
Merge branch 'fix/developer/10457-ldml-keyboard-editor-xml-mode' into fix/developer/10456-ldml-keyboard-editor-font 2024-01-24 19:39:30 +11:00
Marc Durdin
49b0c826ce
Merge branch 'feat/developer/10420-ldml-keyboard-test' into fix/developer/10457-ldml-keyboard-editor-xml-mode 2024-01-24 19:39:15 +11:00
Marc Durdin
e8cf7bf89c
Merge branch 'epic/core/9999-normalization' into feat/developer/10420-ldml-keyboard-test 2024-01-24 18:12:43 +11:00
Marc Durdin
e10c0f5fc3
Merge pull request #10492 from keymanapp/fix/common/10486-preserve-const-enums
fix(common): preserve const enums in tsc build 🌱
2024-01-24 18:12:26 +11:00
Marc Durdin
511277de67
Merge branch 'fix/common/10486-preserve-const-enums' into fix/developer/10490-sentry-cli-boilerplate 2024-01-24 18:11:59 +11:00
Marc Durdin
de4897213d
Merge pull request #10436 from keymanapp/feat/developer/10135-create-ldml-keyboard-project
feat(developer): New LDML Keyboard Project form 🌱
2024-01-24 15:41:18 +11:00
Marc Durdin
e8e47c0c5f
Merge pull request #10433 from keymanapp/refactor/core/10431-remove-unused-core-context-apis
refactor(core): remove unused context APIs 🌱
2024-01-24 15:41:07 +11:00
Marc Durdin
d2b3ef1b58 chore(developer): preserve const enums in kmc-kmn 2024-01-24 11:29:43 +07:00
Marc Durdin
e04db1da27 fix(developer): sentry-cli no longer injects into .d.ts
Fixes #10490.

Note that the default is to inject into .js, .mjs, .cjs, so we don't
need to override that.
2024-01-24 10:22:08 +07:00
Marc Durdin
9d47490e2f chore(developer): one component per file 2024-01-24 10:17:32 +07:00
Marc Durdin
525eed8a34 chore(developer): duplicate id in wxs 2024-01-24 09:42:36 +07:00
Marc Durdin
4188a3ff4b fix(developer): include ldml techpreview imports in msi
Fixes #10485.
2024-01-24 08:15:27 +07:00
Marc Durdin
4906545e31
Merge branch 'epic/core/9999-normalization' into refactor/core/10431-remove-unused-core-context-apis 2024-01-24 12:14:11 +11:00
Marc Durdin
c4b1054f02 fix(developer): tidy up LDML keyboard project template
Fixes #10470.
2024-01-23 14:00:39 +07:00
Marc Durdin
7b0406d64d fix(developer): use keyboard3 tag rather than DTD to identify LDML keyboard xml files
Fixes #10469.
2024-01-23 13:37:57 +07:00
Marc Durdin
ebccb23c41 chore(developer): remove old proc reference 2024-01-23 13:34:41 +07:00
Marc Durdin
7e41ecb358 feat(developer): LDML keyboard test window marker support
Fixes #10458.

Refactors the LDML keyboard test window significantly, in order to be
able to support markers. Cleans up the state machine for the debug
window in the process, as that was complicating the changes. Removes
a lot of extraneous code in the debug window.
2024-01-23 12:42:28 +07:00
Marc Durdin
39b64be67a refactor(developer): use km_core_state_get_actions for LDML keyboard debugger
Relates to #10416.

Moves from using action queue to action struct for the LDML keyboard
debugger. Does not do the same for the KMX keyboard debugger, because
that relies on action items to do single-step debugging.
2024-01-23 12:42:27 +07:00
Marc Durdin
aee59db892 refactor(developer): update app context as well as cached context for KMN keyboard debugger
Fixes #10214.
2024-01-22 08:42:00 +07:00
Marc Durdin
fe88d04bdf refactor(developer): update app context as well as cached context for LDML keyboard debugger
Relates to #10214.
2024-01-22 08:30:17 +07:00
Marc Durdin
0c3b153ca0 fix(developer): support for char + code font in LDML keyboard editor
Fixes #10456.
2024-01-22 07:45:37 +07:00
Marc Durdin
ee9763d43a fix(developer): Use XML mode for LDML keyboard editor
Fixes #10457.
2024-01-22 06:50:53 +07:00
Marc Durdin
236865f046 feat(developer): LDML Keyboard Test Window
Fixes #10420.

Implements a basic LDML keyboard test window. Press F5 or Keyboard/Test
to start test. Shows a character grid for each character in the text.

Does not yet support display of markers (#10458). Does not support
interactive debugging, nor any more detailed status information.
2024-01-22 06:41:13 +07:00
Marc Durdin
cb6968b1c0 chore(developer): fixup generated xml to valid sample keyboard 2024-01-19 11:47:20 +07:00
Marc Durdin
2b02d73347 feat(developer): New LDML Keyboard Project form
Fixes #10135.

Adds a new LDML Keyboard Project template and form, and allows
instantiation from kmconvert command-line and from the New Project
dialog in Keyman Developer IDE.
2024-01-18 15:19:41 +07:00
Marc Durdin
83f80c061a refactor(core): remove unused context APIs
Fixes #10431.

The `km_core_` prefix has been removed from internal-only functions, and
these function declarations moved to context.hpp.

The functions have not been moved from km_core_context_api.cpp at this
stage.

Rewrote the function documentation in Javadoc style comments for the
internal use functions.
2024-01-18 12:18:07 +07:00
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