Commit graph

3278 commits

Author SHA1 Message Date
Dr Mark C. Sinclair
76384a170d fix(developer): edited for layout consistency 2024-07-23 18:11:03 +01:00
Dr Mark C. Sinclair
bac6adb756 fix(developer): remove unnecessary commented out debug code 2024-07-23 18:07:04 +01:00
Dr Mark C. Sinclair
2a7b10d6a3 fix(developer): eight test cases for spaces in empty argument for GetDelimitedString(), plus corresponding fix 2024-07-23 18:04:39 +01:00
Dr Mark C. Sinclair
e94fac176e fix(developer): expanded some test comments 2024-07-23 16:24:46 +01:00
Dr Mark C. Sinclair
ca6f19795c chore(developer): Merge branch 'master' into fix/developer/11937-correct-handling-of-trailing-spaces-by-GetDelimitedString
# 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-07-23 11:50:21 +01:00
Marc Durdin
7a1c12888f
Merge pull request #11985 from keymanapp/fix/developer/11856-kmc-keyboard-info-use-default-version-if-missing-from-kps
fix(developer): kmc-keyboard-info: use default version 1.0 if version information missing
2024-07-23 18:12:41 +10:00
Marc Durdin
0f7100c66b
Merge pull request #11984 from keymanapp/feat/developer/10875-kmc-message-id-search
feat(developer): add searching for message identifiers to `kmc message`
2024-07-23 18:12:32 +10:00
Marc Durdin
044605486b
Merge pull request #11983 from keymanapp/refactor/developer/11966-rename-verifyMinimumKeymanVersion
refactor(developer): rename `verifyMinimumKeymanVersion`
2024-07-23 18:12:23 +10:00
Marc Durdin
138fef93cc
Merge pull request #11982 from keymanapp/feat/developer/11961-handle-auto-versioning-of-gestures
feat(developer): automatically upgrade version when gestures are found in the touch layout
2024-07-23 18:12:13 +10:00
Marc Durdin
97f09a3341
Merge pull request #11981 from keymanapp/feat/developer/11960-handle-auto-versioning-of-special-key-caps-on-normal-keys
feat(developer): handle automatic versioning of special key caps on normal keys
2024-07-23 18:12:02 +10:00
Marc Durdin
b628e2e0c1
Merge pull request #11980 from keymanapp/feat/developer/11959-handle-auto-versioning-of-notany
test(developer): Add tests for automatic versioning of notany() with context()
2024-07-23 18:11:54 +10:00
Marc Durdin
227e05ee08
Merge pull request #11965 from keymanapp/feat/developer/11958-handle-auto-versioning-of-chiral-modifiers
feat(developer): handle automatic versioning of chiral modifiers
2024-07-23 18:11:44 +10:00
Marc Durdin
d6010ce8f9
Merge pull request #11957 from keymanapp/fix/developer/handle-auto-versioning-of-u_xxxx_yyyy
feat(developer): automatically detect version for `U_xxxx_yyyy` ids
2024-07-23 18:11:37 +10:00
Marc Durdin
d97cf4170a
chore: Update developer/src/kmc-kmn/src/kmw-compiler/javascript-strings.ts 2024-07-23 15:16:32 +10:00
Marc Durdin
e6f8765d91
chore: Update developer/src/common/include/kmn_compiler_errors.h 2024-07-23 15:13:07 +10:00
Marc Durdin
5a0b3e67aa
chore(developer): correct mismerge of ERROR_InvalidTarget 2024-07-23 15:12:38 +10:00
Marc Durdin
dcf1d29bdb
Merge branch 'fix/developer/11814-kmx_u16-buffer-overrun' into fix/developer/11773-prevent-invalid-targets-store-values 2024-07-23 15:11:22 +10:00
Marc Durdin
7d79bb6a2f chore(developer): remove spurious debugger line 2024-07-23 09:06:32 +07:00
Marc Durdin
c5799502dd fix(developer): kmc-keyboard-info: use default version 1.0 if version information missing
Also add unit test.

Fixes: #11856
2024-07-21 15:41:22 +10:00
Marc Durdin
1f0d51eec5 feat(developer): add searching for message identifiers to kmc message
Fixes: #10875
2024-07-21 14:50:33 +10:00
Marc Durdin
9f4fc70c35 refactor(developer): rename verifyMinimumKeymanVersion
Fixes: #11966
2024-07-21 13:38:32 +10:00
Marc Durdin
8a0005599c feat(developer): automatically upgrade version when gestures are found in the touch layout
When gestures are found in the touch layout file, the compiler will now
automatically upgrade the version to 17.0, if no `store(&VERSION)` rule
is found. Also adds corresponding unit tests.

Fixes: #11961
2024-07-21 13:33:09 +10:00
Marc Durdin
e3134a1c0f feat(developer): handle automatic versioning of special key caps on normal keys
Special key caps on normal keys in touch layout files are supported with
Keyman 14.0 and later versions. Handle automatic determination of the
version number if `store(&VERSION)` is not present. Add corresponding
unit tests.

Fixes: #11960
2024-07-21 13:22:33 +10:00
Marc Durdin
56aafe5b42 chore(developer): add note on removed error id 2024-07-21 11:01:31 +10:00
Marc Durdin
72afc6d52a test(developer): Add tests for automatic versioning of notany() with context()
Adds a unit test to verify that automatic versioning of notany() in
conjunction with context() is correctly managed. Removes compiler error
that could never be generated (replace with safety-check exception).

Fixes: #11959
2024-07-16 05:20:37 +10:00
Marc Durdin
719d050d86 feat(developer): handle automatic versioning of chiral modifiers
Adds support for determining minimum version 10.0 when chiral modifiers
or state modifiers are found in virtual keys, e.g. `[LCTRL K_A]`,
`[CAPS K_A]`, and corresponding unit tests.

Fixes: #11958
2024-07-16 04:44:44 +10:00
Marc Durdin
3497e97b00 feat(developer): automatic version detection for U_xxxx_yyyy ids
Currently, automatic Keyman minimum version determination works for all
features in Keyman keyboards _except_ `U_xxxx_yyyy` touch key
identifiers.

This change adds the automatic keyboard versioning functionality to the
keymanweb compiler as well, following the pattern that's in kmcmplib.

This makes the `store(&version)` line completely optional, and it may
be possible to deprecate it in future versions of Keyman Developer.
2024-07-13 07:28:18 +10:00
Dr Mark C. Sinclair
5bdd877c5f fix(developer): add two text after trailing spaces test cases 2024-07-11 10:03:33 +01:00
Dr Mark C. Sinclair
cdb8fad6cb fix(developer): add multi-word test case 2024-07-09 12:05:19 +01:00
Dr Mark C. Sinclair
0b548a1894 fix(developer): add documentation comment to GetDelimitedString() 2024-07-09 12:01:27 +01:00
Dr Mark C. Sinclair
2b4bd1c01a fix(developer): add comment 2024-07-09 11:33:28 +01:00
Dr Mark C. Sinclair
2c0fab3825 fix(developer): add spaces before and after close delimiter case, plus several no flags cases 2024-07-09 11:19:20 +01:00
Dr Mark C. Sinclair
7e572e2ee6 fix(developer): add test cases for spaces after the close delimiter 2024-07-09 10:21:54 +01:00
Dr Mark C. Sinclair
4a9c459292 fix(developer): delete close delimiter when there are trailing spaces, plus test cases 2024-07-08 18:32:19 +01:00
Dr Mark C. Sinclair
e00eb1baa1 fix(developer): add test cases for spaces before argument 2024-07-08 17:08:49 +01:00
Dr Mark C. Sinclair
1ac8b8fea5 fix(developer): add multi-character and leading space test cases 2024-07-08 17:05:16 +01:00
Dr Mark C. Sinclair
73841d05cd fix(developer): add no open, no close delimiter, and no argument test cases 2024-07-08 16:40:51 +01:00
Dr Mark C. Sinclair
f7311fe59c fix(developer): add initial GetDelimitedString test 2024-07-08 16:22:46 +01:00
Marc Durdin
b15b10c9ec
Merge branch 'master' into fix/developer/11814-kmx_u16-buffer-overrun 2024-07-05 18:05:27 +10:00
Marc Durdin
63ca95ed76 fix(developer): prevent invalid values in targets store
Fixes: #11773
2024-07-03 08:33:15 +10:00
Marc Durdin
69d8b30d3b fix(developer): prevent buffer overrun in u16tok
Relates-to: #11814
See-also: #11894
2024-07-02 21:46:25 +10:00
Dr Mark C. Sinclair
963aecc5f3 chore(developer): Merge branch 'master' into fix/developer/handle-second-parameter-of-index-correctly-in-kmcmplib-compiler
# 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-07-01 09:33:09 +01:00
Marc Durdin
14abb312d1
Merge pull request #11806 from keymanapp/fix/developer/11643-prevent-non-bmp-chars-in-key-part-of-rule
fix(developer): prevent non-BMP characters in key part of rule
2024-07-01 11:37:59 +10:00
Dr Mark C. Sinclair
0e029519c9 chore(developer): Merge branch 'master' into fix/developer/handle-second-parameter-of-index-correctly-in-kmcmplib-compiler
# 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-06-24 09:21:28 +01:00
Steven R. Loomis
f390de30da
Merge pull request #11843 from keymanapp/fix/developer/10553-reduce-bogus-unclear-errors
fix(developer): layr: fix modifier err message on layer w/o id 🙀
2024-06-21 08:25:08 -05:00
Steven R. Loomis
4dc02c4952 fix(developer): layr: fix modifier err message on layer w/o id
- the error message was broken when there wasn't a layer id (which is allowed)
- add a test case

Fixes: #10553
2024-06-20 17:19:44 -05:00
Steven R. Loomis
017e1f7e97
Merge branch 'master' into feat/developer/11054-warn-no-display 2024-06-20 16:03:26 -05:00
Steven R. Loomis
570766ca7c feat(developer): linter on blank keycaps
add a linter and hints to detect these cases:
- 'switch' key with no output and no matching display
- any other key whose only output is markers (so cannot otherwise display) and no matching display

Fixes: #11054
2024-06-20 16:02:43 -05:00
Dr Mark C. Sinclair
e2260feef7 chore(developer): Merge branch 'master' into fix/developer/handle-second-parameter-of-index-correctly-in-kmcmplib-compiler
# 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-06-19 15:20:15 +01:00
Dr Mark C. Sinclair
31598afbb7 fix(developer): add doc comments to isIntegerWstring(), plus whitespace tests 2024-06-19 15:15:11 +01:00