diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2025-03-07 13:07:50 +0800 |
|---|---|---|
| committer | zeertzjq <zeertzjq@outlook.com> | 2025-03-08 05:45:38 +0800 |
| commit | 3824f52e52ef95342788042a69e142e2aef72243 (patch) | |
| tree | 1b160b87d8afb42ae3ec00dcd5b91c351407c582 /src/gen | |
| parent | 3d49c55d3c33a243f4236cf57b179608c288b145 (diff) | |
| download | rneovim-3824f52e52ef95342788042a69e142e2aef72243.tar.gz rneovim-3824f52e52ef95342788042a69e142e2aef72243.tar.bz2 rneovim-3824f52e52ef95342788042a69e142e2aef72243.zip | |
refactor(keycodes): generate key_names_table[] using Lua
This allows easier refactoring.
Diffstat (limited to 'src/gen')
| -rw-r--r-- | src/gen/gen_keycodes.lua | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gen/gen_keycodes.lua b/src/gen/gen_keycodes.lua new file mode 100644 index 0000000000..fff5b59396 --- /dev/null +++ b/src/gen/gen_keycodes.lua @@ -0,0 +1,19 @@ +local names_file = arg[1] + +local keycodes = require('nvim.keycodes') +local keycode_names = keycodes.names + +local names_tgt = assert(io.open(names_file, 'w')) + +names_tgt:write([[ +static const struct key_name_entry { + int key; ///< Special key code or ascii value + const char *name; ///< Name of key +} key_names_table[] = {]]) + +for _, keycode in ipairs(keycode_names) do + names_tgt:write(('\n {%s, "%s"},'):format(keycode[1], keycode[2])) +end + +names_tgt:write('\n {0, NULL},\n};\n') +names_tgt:close() |