Hash :
66f71890
Author :
Date :
2025-03-31T08:01:29
symbols: Enable writing keysyms list as UTF-8 strings
Each Unicode code point of the string will be translated to their
respective keysym, if possible. An empty string denotes `NoSymbol`.
When such conversion is not possible, this will raise a syntax error.
This introduces the following syntax:
```c
// Empty string = `NoSymbol`
key <1> {[""]}; // NoSymbol
// Single code point = single keysym
key <2> {["é"]}; // eacute
// String = translate each code point to their respective keysym
key <3> {["sßξك🎺"]}; // {s, ssharp, Greek_xi, Arabic_kaf, U1F3BA}
// Mix string and keysyms
key <4> {[{"ξ", Greek_kappa, "β"}]}; // { Greek_xi, Greek_kappa, Greek_beta}
```
It can also be used wherever a keysym is required, e.g. in `interpret`
and `modifier_map` statements. In these cases a single keysym is expected,
so the string should contain *exactly one* Unicode code point.
This directory contains fragments for the future NEWS file.
We use <code>towncrier</code> to produce useful, summarized news files.
There are 3 sections types:
changes/api changes/tools changes/build There are 3 news fragments types:
.breaking .feature .bugfix
Add a short description of the change in a file changes/SECTION/ID.FRAGMENT.md,
where:
SECTION and FRAGMENT values are described in the previous section. ID is the corresponding issue identifier on Github, if relevant. If there is
no such issue, then ID should start with + and some identifier that make
the file unique in the directory. Examples:
changes/api/463.bugfix.md. changes/tools/+add-verbose-opt.feature.md. Guidelines for the fragment files:
Install <code>towncrier</code> from Pypi:
python3 -m pip install towncrier
Then build the changelog:
# Only check the result. Useful after adding a new fragment.
towncrier build --draft --version 1.8.0
# Write the changelog & delete the news fragments
towncrier build --yes --version 1.8.0