Commit graph

634 commits

Author SHA1 Message Date
Steven R. Loomis
1ea3473e34 feat(core): more prep work for reorder 🙀
- tests for sortkey generation and sorting
- improvements to element flag analysis
2023-07-12 18:07:06 -05:00
Steven R. Loomis
a5a2b61479 feat(core): unit test for reorder! 🙀
- add functions for checking type and ordering
  in elements
- fails, of course! implementation to come

For #9120
2023-07-12 18:07:06 -05:00
Steven R. Loomis
f5b70a952c feat(core): refactor for reorder implementation 🙀
- some polymorphic objects
- element list
- add new reorder test

For: #9120
2023-07-12 18:07:06 -05:00
Steven R. Loomis
30f33ecd4e fix(core): don't use double newlines in debuglog
- syslog() will automatically add newlines (per mac and linux manpages)
- there's no reason to add NL *AND* add std::endl
- this fix will cause syslog to have no newline going in, and print only one instead of two newlines on other platforms/environments
2023-07-12 12:34:33 -05:00
Steven R. Loomis
90eeb2aecf
Merge pull request #9196 from keymanapp/core/9118-spec-markers-epic-ldml 2023-07-07 07:44:50 -05:00
Steven R. Loomis
4950f741f8 spec(core): marker spec 🙀
- switch from PUA to U+0001 based indices
- add some notes from comments (discussion ongoing)
2023-07-06 16:50:35 -05:00
Steven R. Loomis
4c096b7574
Update core/src/ldml/C9134_ldml_markers.md
Co-authored-by: Joshua Horton <joshua_horton@sil.org>
2023-07-06 16:32:56 -05:00
Steven R. Loomis
b439b0d6cf feat(core): kmxplus uset implementation in core 🙀
- add USet helper object for range checks
- verify range consistency
- remove dead test
- add comment about KMX+ object validation

For: #9120
2023-07-06 13:00:26 -05:00
Steven R. Loomis
4dff5bdbc3 feat(core): kmxplus uset implementation in core 🙀
- this is the uset section, not UnicodeSet from ICU

For: #9120
2023-07-05 18:49:56 -05:00
Steven R. Loomis
5510321e04 spec(core): marker spec 🙀
- first cut

Fixes: #9118
2023-07-05 18:16:09 -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
83bb7e6f12
Merge branch 'master' into feat/developer-9050-utf32-epic-ldml 2023-06-23 17:31:43 -05:00
Steven R. Loomis
de90644d7a feat(core,common,developer): support UTF-32 single chars 🙀
- C++ side now
- updated tests
- refactored escaping code and squashed bugs
- still todo: basic.xml

For: #9050
2023-06-23 16:55:05 -05:00
Steven R. Loomis
c3e55e3e56
Merge pull request #9049 from keymanapp/feat/core-7377-reorder-parse-epic-ldml
feat(common,developer,core): add uset section 🙀
2023-06-23 12:45:48 -05:00
Steven R. Loomis
8a3a08dcf7 feat(core): update documentation and builder for uset 🙀
- pre-sort the uset items instead of copying the patterns and re-finding
- update docs on the uset subtable

#7377
2023-06-23 10:52:34 -05:00
Steven R. Loomis
d7e0c286e4
Update core/src/ldml/ldml_processor.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-06-23 10:32:33 -05:00
Steven R. Loomis
9ce4f0eaa8 fix(core): fix ldml enter 🙀
- pass unknown keys back to OS

#7377
2023-06-22 18:43:34 -05:00
Steven R. Loomis
6e97c40f26 fix(core): fix ldml backspace 🙀
- don't pop state->context() if we know it is empty

#7377
2023-06-22 18:09:53 -05:00
Steven R. Loomis
877070d07e fix(core): fix ldml transforms 🙀
- document transform calling code in ldml_transform
- remove obsolete portions
- optimize keystroke code when no transforms are present
2023-06-22 17:55:18 -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
9eff1eb1d4 feat(core): document transform algorithm 🙀
For: #7377
2023-06-20 16:37:38 -05:00
Steven R. Loomis
903fd7e82b feat(core): transform fixes 🙀
- refactor matching per review comments
- move global fcn into class statics

#7377
2023-06-19 18:27:36 -05:00
Steven R. Loomis
3014b9e98e feat(core): transform fixes 🙀
- fix sample files
- break out on first match in a group

#7377
2023-06-16 20:16:29 -05:00
Steven R. Loomis
c74be813b1
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-06-16 20:10:50 -05:00
Steven R. Loomis
954b29dfd0 feat(core): fix kmx_plus loading 🙀
- vars was missed
- meminit for kmx_plus
2023-06-15 13:52:56 -05:00
Steven R. Loomis
e6f0f0e894 chore(core): reduce logging a little 🙀 2023-06-15 13:17:39 -05:00
Steven R. Loomis
be32377864 feat(core): steps to implement tran 🙀
- fix missing include

For: #7377
2023-06-14 10:27:14 -05:00
Steven R. Loomis
c90c7aaa64 feat(core): non-regex implementation of tran 🙀
- some scaffolding for loading transforms
- add transform_test
- simple test, simple impl - non-regex, simple strings
- scaffolding for bksp
- bksp transform test, but disabled for now

For: #7377
2023-06-14 10:14:33 -05:00
Steven R. Loomis
e5d7b3f835
Update core/src/kmx/kmx_plus.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-06-07 12:46:43 -05:00
Steven R. Loomis
2c172e89ce feat(core): validate tran 🙀
- new helper for tran
- also for bksp

For: #7377
2023-06-06 18:39:11 -05:00
Steven R. Loomis
46b4b7f5cc feat(core): fixups to C++ side 🙀
- builds, passes tests for now

For: #7377
2023-06-06 18:38:44 -05:00
Steven R. Loomis
e37e4d0cd3 feat(developer): vars: binary builder 🙀
- no, not basic.txt yet…

For: #7377
2023-05-11 19:54:45 -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
Steven R. Loomis
74e46db364 spec(core): update to spec for transforms and vars 🙀
For: #7377
2023-05-11 10:41:37 -05:00
Steven R. Loomis
47e844b2cc spec(core): spec for transform 🙀
- first pass, may need more

For: #7377
2023-05-11 10:41:37 -05:00
Marc Durdin
4838ba1ffe chore: rename kmc-keyboard to kmc-ldml
Part of #8719.
2023-05-09 14:08:45 +07:00
Steven R. Loomis
07392ed460 feat(developer): update tests and reader for transforms 🙀
- not working yet, but 'update' some XML

for #7377
2023-04-27 12:21:03 -05:00
Marc Durdin
9152ab52e9
Merge branch 'master' into feat/core-8435-repertoire-test-epic-ldml 2023-04-10 15:15:00 +10:00
Steven R. Loomis
6bc70d832d
Update core/src/kmx/kmx_plus.h
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2023-04-05 13:28:18 -05:00
Steven R. Loomis
82944c447b
Update core/src/kmx/kmx_plus.h
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2023-04-05 13:27:57 -05:00
Steven R. Loomis
ab614677ce feat(core): ldml repertoire test 🙀
- wip: simple lookup for an exact key

For: #8435
2023-03-16 15:49:00 -05:00
Steven R. Loomis
ec68f6ce0f feat(core): ldml repertoire test 🙀
- wip: right now passes, because it emits the repertoire text as it goes

For: #8435
2023-03-16 14:28:51 -05:00
Marc Durdin
d1c8061b5f chore: Merge branch 'feature-kmcompx' into chore/merge-master-into-kmcompx 2023-03-16 12:29:17 +07:00
Steven R. Loomis
f7499238a2 fix(core): ldml more TODO-LDML fixes 🙀
- drop some TODO-LDMLs, document others.

For: #8069
2023-03-14 18:54:28 -05:00
Marc Durdin
ef80f0f6b5 chore(developer): shared meson config for kmcmplib 2023-03-09 12:14:15 +07:00
Marc Durdin
691dc8e618 chore(core): split flags into standard.meson.build 2023-03-09 11:34:54 +07:00
Eberhard Beilharz
0c2c4f4206
Merge pull request #8375 from keymanapp/chore/core/linuxstatic
chore(core): Create both dynamic and static libs on Linux
2023-03-07 13:21:11 +01:00
Eberhard Beilharz
03bb0c5fcc
chore(core): Create both dynamic and static libs on Linux 2023-03-06 16:51:19 +01: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
f7b2530f33 spec(core): ldml update spec for either shift/ctrl/alt 🙀
- match Keyman constanats

#7533
2023-02-25 08:20:12 -06:00