Commit graph

3317 commits

Author SHA1 Message Date
Marc Durdin
6f62edf976
Merge pull request #12037 from keymanapp/chore/developer/12027-remove-references-from-tsconfig.json
chore(developer): remove redundant references from tsconfig.json
2024-07-31 07:55:39 +10:00
Marc Durdin
0e0e96c810
Merge pull request #12029 from keymanapp/chore/developer/api-refresh
chore(developer): api doc refresh
2024-07-27 11:34:20 +10:00
Marc Durdin
2f6ffd9ca3
Merge pull request #12028 from keymanapp/fix/developer/12027-remove-paths-from-tsconfig.json
fix(developer): remove `paths` from tsconfig.json
2024-07-27 11:34:13 +10:00
Marc Durdin
ed6374c3b8
Merge pull request #12017 from keymanapp/chore/developer/10254-analyzer-messages
chore(developer): rename to analyzer-messages.ts
2024-07-27 11:34:03 +10:00
Marc Durdin
1cff1a5084 chore(developer): remove redundant references from tsconfig.json
With the full move to ES Modules, we no longer need to include
`references` in tsconfig.json, as we can rely on package.json and
build.sh dependency management. Note however that `tsc -b` may not work
to build dependencies -- they need to be built using `build.sh`, which
calculates which dependencies need building.

kmc-keyboard-info was missing a dependency link to kmc-package in
build.sh, correcting this at the same time.

Relates-to: #12027
2024-07-27 05:44:22 +07:00
Dr Mark C. Sinclair
d816bf608d chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests-2
# 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-26 11:26:57 +01:00
Marc Durdin
6310c2e9ed chore(developer): api doc refresh 2024-07-26 09:23:17 +07:00
Marc Durdin
1afa4beb01 fix(developer): remove paths from tsconfig.json
Fixes: #12027
2024-07-26 06:59:45 +07:00
Marc Durdin
db904b5617 fix(developer): cleanup package.json and build.sh errant references
During analysis of root causes for #12027, discovered a few package
relationship issues in package.json and build.sh.

analyzer-messages.ts ///<reference> is a mitigation for now.

Relates-to: #12027
2024-07-26 06:57:32 +07:00
Marc Durdin
70a32b081b chore(developer): rename to analyzer-messages.ts
Fixes #10254.

A full clean and build resolved this, so seems likely the rename caused
some intermediate file to break?
2024-07-25 15:09:00 +07:00
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
c0524ab851 chore(developer): add local variables and comments to clarify CERR_OutsTooLong test case 2024-07-23 20:27:49 +01:00
Dr Mark C. Sinclair
ea0a2f780e chore(developer): uncomment nine test cases in various GetXStringImpl tests now fixes are available 2024-07-23 20:16:39 +01:00
Dr Mark C. Sinclair
f6863dd2c3 chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests-2
# 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 20:00:30 +01: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
ef9c0f8821 chore(developer): Merge branch 'master' into test/developer/kmcmplib-compiler-unit-tests-2
# 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:59:49 +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