aboutsummaryrefslogtreecommitdiff
path: root/src/gen
diff options
context:
space:
mode:
Diffstat (limited to 'src/gen')
-rw-r--r--src/gen/gen_keycodes.lua19
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()