Marc Durdin
32ee4bc386
fix(core): typedef enum
2024-01-15 08:00:32 +07:00
Marc Durdin
bfb26eaf64
feat(core): adds km_core_state_context_debug
...
Fixes #10365 .
Adds a `km_core_state_context_debug` function that returns a km_core_cp
string containing the current cached or intermediate context. The
function must be used only for debug logging purposes -- the string is
not intended to parsed for other purposes and the format may change in
the future.
This commit adds the function and corresponding unit tests. Subsequent
commits will update existing context debug functions in various engines
to use this API endpoint instead.
2024-01-15 07:19:31 +07:00
Eberhard Beilharz
9b768c57d7
refactor(linux): Use km_core_state_context_set_if_needed
...
Also update comment on `km_core_state_context_set_if_needed` to make it
clearer that it's expecting a UTF-16 string.
Closes #10212 .
2024-01-10 18:57:41 +01:00
Marc Durdin
b6daac0bdb
feat(core): action struct to action items conversion
...
Adds state->set_actions(). This sets the Core's action list to match the
contents of the action struct. Note that markers are not supported and
backspace expected_values will be empty, as this information is not
available. As the intended consumer of the action struct does not need
to know this information, this should be adequate.
2023-12-01 12:27:49 +07:00
Steven R. Loomis
f72c571696
Merge branch 'master' into chore/developer/9838-cldr44-epic-ldml
2023-10-26 18:38:14 -05:00
Steven R. Loomis
a8e2be5e9e
chore(developer): ldml update to prefinal v44 🙀
...
- more tweaks
For feat(developer): ldml re-sync with CLDR v44 spec 🙀 #9838
2023-10-25 15:40:24 -05:00
Marc Durdin
8475b68248
feat(core): make persist_options always point to a valid array
2023-10-25 05:46:43 +07:00
Steven R. Loomis
1ff2bfc4d7
chore(developer,common,core): ldml update to prefinal v44 🙀
...
- more data file updates
- now updating some developer files
- updating the KMX+ spec with some changes.
(vkey was dropped in #7135 , remove it from the spec)
For feat(developer): ldml re-sync with CLDR v44 spec 🙀 #9838
2023-10-24 17:28:08 -05:00
Marc Durdin
82177013e9
chore(core): Merge branch 'master' into feat/core/9720-actions-apis
2023-10-24 20:55:10 +07:00
Marc Durdin
40ca1d1ed8
chore(core): address review comments
2023-10-24 20:53:44 +07:00
Marc Durdin
69e92f312a
chore(core): rename to code_points_to_delete
2023-10-24 13:46:52 +07:00
Marc Durdin
cd428ae412
feat(core): address review comments
...
* Renamed various functions and types
* Clarified return values
* Updated doc comments
2023-10-24 12:22:34 +07:00
Marc Durdin
cbb708e74d
chore(core): bool to int for cross-platform
2023-10-24 09:48:08 +07:00
Marc Durdin
0aa86501c6
chore(core): fix types and compile errors
...
Fixes #9832 . Addresses a couple of other cross-platform compile issues.
2023-10-24 09:25:08 +07:00
Marc Durdin
61330ba06d
feat(core): new actions APIs
...
Fixes #9720 .
Note: this will deprecate a number of Keyman Core APIs -- pretty much
all existing action and context APIs. Deprecation marks will come in a
follow-up commit.
2023-10-23 15:01:55 +07:00
Eberhard Beilharz
f4d8529789
chore(linux): rename keyboardprocessor_ldml.* to keyman_core_ldml
2023-10-20 17:30:10 +02:00
Eberhard Beilharz
52bb859817
chore(linux): Rename (lib)kmnkbp to (lib)keymancore
2023-10-19 10:35:09 +02:00
Eberhard Beilharz
2f073f7778
chore(linux): Rename KMN_CORE to KM_CORE_LIBRARY
2023-10-19 08:51:29 +02:00
Eberhard Beilharz
b5c6f31b05
chore(linux): Rename KBP to CORE
2023-10-18 15:48:21 +02:00
Eberhard Beilharz
965b8e5ecc
chore(linux): Rename kbp_state_get_intermediate_context to km_core_...
...
A previous rename missed this.
2023-10-16 19:39:18 +02:00
Marc Durdin
db76e2541d
chore: rename KM_KBP_ to KM_CORE_
2023-10-09 14:53:22 +07:00
Marc Durdin
ba5f18defd
chore: rename km_kbp_ to km_core_
2023-10-09 14:53:13 +07:00
Marc Durdin
4e5cbc3b96
chore: fix typo
2023-10-09 14:51:51 +07:00
Marc Durdin
906a0a2ed7
chore: fix typo
2023-10-09 14:41:01 +07:00
Marc Durdin
4ef18f5e29
chore(core): rename keyboardprocessor.h to keyman_core_api.h
...
Fixes #9721 .
Also tweaks some documentation references to keyboardprocessor, but does
not touch those relating to debian/control.
2023-10-09 14:21:01 +07:00
Marc Durdin
a1d7095c58
Merge pull request #9681 from keymanapp/chore/common/9262-cleanup-final-non-esm
...
chore(common): cleanup final Typescript non-ESM metadata
2023-10-06 13:37:54 +11:00
Marc Durdin
d4e4992714
chore(common): cleanup final Typescript non-ESM metadata
...
Fixes #9262 .
2023-10-04 12:55:51 +07:00
Steven R. Loomis
17eba2d237
feat(developer): scancode and forms 🙀
...
- spec: 'hardware' is no longer an enum but a str.
Ripple effects here.
- custom scancodes and layouts are, interestingly, supported. But it's a warning.
- tests for bad scancodes.
Fixes : #9403
2023-09-30 22:06:39 -05:00
Steven R. Loomis
bdef1c48d3
fix(common): update keyman for removal of vkeys 🙀
...
dropped in upstream CLDR-17093
See #7135
2023-09-28 13:03:44 -05:00
Steven R. Loomis
6a54ebdd57
feat(developer): ldml scancodes 🙀
...
For: #9403
- read implied imports for scancodes
2023-09-22 15:20:20 -05:00
Steven R. Loomis
b6855e121f
feat(core): ldml: support <display id=...> in the 'disp' section 🙀
...
- "recent" addition to CLDR DTD
Fixes : #8717
2023-08-18 17:02:35 -05:00
Steven R. Loomis
b572f60c9e
feat(core): limit max marker to 0xD7FF 🙀
...
- updates per review, off by one in max count
- updated the spec
2023-08-11 15:01:51 -05:00
Steven R. Loomis
e010b6a5bc
feat(core): limit max marker to 0xD7FF 🙀
...
- to avoid mismatched surrogate pairs in markers
For: #9119
2023-08-09 14:54:37 -05:00
Steven R. Loomis
6632aafeec
spec(core): update per code review 🙀
...
- keep 'deadkey' out of the ldml code
- other renames
For: #9119
2023-08-03 19:00:21 -05:00
Steven R. Loomis
d53ae69299
Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-03 18:56:05 -05:00
Steven R. Loomis
913cb5d18a
Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-08-02 18:55:22 -05:00
Steven R. Loomis
2a818b1ede
spec(core,developer): update marker spec 🙀
...
- use UC_SENTINEL CODE_DEADKEY …
- use U+FFFE for any marker
- add asserts between .ts and C++
- update generation
For: #9119
2023-08-02 18:04:48 -05:00
Steven R. Loomis
2211900e5f
feat(common): marker - move values into constants 🙀
...
- constants need to be shared with C++
#9119
2023-07-29 16:15:55 -05:00
Steven R. Loomis
ebcccbe0ef
feat(core): rearrange elem flags 🙀
...
- per review comments, make the elem flags clearer
For: #7377
2023-07-03 18:20:59 -05:00
Steven R. Loomis
88650e2085
feat(developer): uset in element string 🙀
...
- fix uset builder and other missing uset parts
- basic.xml passes
- update to constants
Fixes : #7377
2023-06-30 17:27:04 -05:00
Steven R. Loomis
248d423535
feat(common,developer,core): add uset section 🙀
...
- not emitted yet, basic scaffolding
- expanded type field in elem: str/char/set
For: #7377
2023-06-20 18:23:54 -05:00
Steven R. Loomis
8548b0fd33
Merge remote-tracking branch 'upstream/master' into feat/developer-7377-transform-format-epic-ldml3
2023-06-06 09:45:21 -05:00
Eberhard Beilharz
3c4f2251eb
fix(core): Fix C API documentation generation
2023-06-02 18:43:21 +02:00
Steven R. Loomis
518fcd8fc2
feat(developer): tran: compiler path complete 🙀
...
- still doesn't actually precompile vars or regex
For: #7377
2023-05-19 19:09:44 -05:00
Steven R. Loomis
c4fe843655
feat(common,developer): remove ordr and finl, add vars 🙀
...
- vars tests, doesn't pass yet
- tran tests and compilers stubbed out for now
For: #7377
2023-05-11 10:41:37 -05:00
Steven R. Loomis
284b062811
spec(core): update to spec for transforms and vars 🙀
...
- updates to constants .ts/.h
- doc updates
For: #7377
2023-05-11 10:41:37 -05:00
Marc Durdin
3265a714f2
chore(common): add missing deps and files for npm publish
...
The build/ folder for most packages was missing due to being listed in
.gitignore.
Also, @keymanapp/ldml-keyboard-constants package was not being published
despite being a dependency of @keymanapp/kmc-keyboard.
Instead of relying on npm's use of .gitignore / .npmignore (which has
seriously wonky behaviours), we list the files that should be included
in package.json.
NPM Wonky behaviours: it seems that .npmignore causes .gitignore in the
same folder to be ignored. But, higher level .gitignore files still
affect the files included in the package, which makes
specification-by-exclusion painful (negating exclusions, etc). We do not
recommend use of .npmignore anywhere for this reason.
2023-04-12 14:05:05 +07:00
Steven R. Loomis
812fd1713a
spec(core): ldml tests for either shift/ctrl/alt 🙀
...
- lookup needs to handle either/neither/both cases for alt and ctrl
- and a bug in the test runner: would 'pass' if failed on exactly line 256 (0x100 & 0xFF == 0)
#7533
2023-03-02 17:13:47 -06:00
Steven R. Loomis
e1e5eea469
feat(core): ldml rename key2 to keys 🙀
...
- So in summary, since before #7532 basically keys was restructured, and the old 'keys' was moved into 'keys.kmap'.
#8069
2023-02-20 17:40:34 -06:00
Steven R. Loomis
dd9be17228
Update core/include/ldml/keyboardprocessor_ldml.ts
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-02-18 09:32:58 -06:00