feat(developer): Checks when adding layer name on "Code" panel
- Dominant language
- Pascal
- Stars
- 534
- Forks
- 143
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 113
Description
### Is your feature request related to a problem? Please describe.
In Keyman Developer, in the Touch layout interface, the `Add` layer feature does not permit non-Roman letters in the layer name, when letters of other scripts are used the following error message appears (see also the attached screenshot):
```
Layer name must contain only alphanumerics, underscore, and hyphen.
```
However, the user can add a temporary name, switch to the "Code" panel, and replace the temporary name with the desired non-Roman name without issue.
 Developer
### Describe the solution you'd like
The JSON spec does not have the alphanumeric limitation for attribute values. I would like the feature to check validity against a JSON API, and report an error to the user as applicable.
### Describe alternatives you've considered
_No response_
### Related issues
_No response_
### Keyman apps
- [ ] Keyman for Android
- [ ] Keyman for iPhone and iPad
- [ ] Keyman for Linux
- [ ] Keyman for macOS
- [ ] Keyman for Windows
- [X] Keyman Developer
- [ ] KeymanWeb
- [ ] Other - give details at bottom of form
### Keyman version
15.0.273
### Operating system
Windows 11
### Device
Windows Laptop
### Target application
N/A
### Browser
N/A
### Keyboard name
N/A
### Keyboard version
N/A
### Language name
N/A
### Additional context
_No response_
Contributor guide
Research direction
No files, tests, or entry points are identified in the report. Locate the Touch layout Add-layer validation and compare it with the Code panel's JSON attribute validation. Done means valid non-Roman layer names are accepted and invalid values produce an appropriate error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- json
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100