Marc Durdin
b0c7147dfa
Merge pull request #12000 from keymanapp/feat/developer/10666-hint-on-index-store-longer-than-any
...
feat(developer): add hint when index() store is longer than any() store
2024-07-25 17:45:58 +10:00
Marc Durdin
12f9af5a59
chore(developer): address review comments
2024-07-25 12:21:39 +07:00
Marc Durdin
5a454c9a3d
Merge pull request #12008 from keymanapp/fix/developer/11992-handle-kps-xml-errors-loading-project
...
fix(developer): handle errors parsing .kps file when loading project
2024-07-25 14:10:00 +10:00
Marc Durdin
484f91135b
Merge pull request #11989 from keymanapp/chore/developer/rename-package-compiler-messages-class
...
chore(developer): rename kmc-package `CompilerMessages` to `PackageCompilerMessages`
2024-07-25 14:09:51 +10:00
Marc Durdin
1b36c86db4
Merge pull request #11988 from keymanapp/chore/developer/rename-ldml-compiler-messages-export
...
chore(developer): rename kmc-ldml `CompilerMessages`, `LdmlKeyboardCompilerMessages` to `LdmlCompilerMessages`
2024-07-25 14:09:43 +10:00
Marc Durdin
5d0dccf088
Merge pull request #11986 from keymanapp/chore/developer/remove-CompilerMessages-stub
...
chore(developer): remove `CompilerMessages` stub and use `KmnCompilerMessages`
2024-07-25 14:09:36 +10:00
Marc Durdin
2c866f3a18
fix(developer): handle errors parsing .kps file when loading project
...
When a project is loaded, the IDE parses .kps files to retrieve metadata
for viewing. If the .kps file was malformed, then the parser could fail,
blocking the load of the project. Instead, we just ignore the errors and
show no metadata. Note that the Package Editor already loads the file
successfully and reports on the problem, allowing the user to fix it.
Fixes : #11992
Fixes: KEYMAN-DEVELOPER-23W
2024-07-25 08:40:28 +07:00
Marc Durdin
09a1ad7b69
feat(developer): add hint when index() store is longer than any() store
...
While it does not cause any problems to have a index() store that is
longer than its corresponding any() store, it often indicates a mistake,
as the trailing characters in the store are ignored. Thus, adding as a
hint (which can be disabled via message suppression) rather than as a
warning or error.
Example code:
store(abc) 'abc'
store(defg) 'defg'
any(abc) + 'x' > index(defg, 1) c generates HINT_IndexStoreLong
Fixes : #10666
2024-07-24 07:35:31 +07:00
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
1b2ca768b7
chore(developer): rename kmc-package CompilerMessages to PackageCompilerMessages
...
It is easier to differentiate between all the compiler message classes
if each one has its own name.
2024-07-22 16:02:43 +07:00
Marc Durdin
cfa85d1cc8
chore(developer): rename kmc-ldml export LdmlKeyboardCompilerMessages to LdmlCompilerMessages
...
This makes the exported class name more consistent with the other
compiler message classes and removes one more unnecessary alias.
2024-07-22 15:58:39 +07:00
Marc Durdin
909b71b6fc
chore(developer): rename kmc-ldml CompilerMessages to LdmlCompilerMessages
...
It is easier to differentiate between all the compiler message classes
if each one has its own name.
2024-07-22 15:52:37 +07:00
Marc Durdin
632f98d029
chore(developer): update unit test CompilerMessages references
2024-07-22 15:26:09 +07:00
Marc Durdin
4fd9678600
chore(developer): update unit test CompilerMessages references
2024-07-22 14:29:13 +07:00
Marc Durdin
39cd3bd5ad
chore(developer): remove CompilerMessages stub and use KmnCompilerMessages
2024-07-21 15:50:10 +10: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