105 lines
2.6 KiB
Lua
105 lines
2.6 KiB
Lua
-- luacheck:ignore 113
|
|
---@diagnostic disable: undefined-global
|
|
|
|
-- write DEFAULT_MAPPINGS in various formats
|
|
|
|
local max_key_help = 0
|
|
local max_key_lua = 0
|
|
local max_action_help = 0
|
|
local outs_help = {}
|
|
local outs_lua = {}
|
|
|
|
for _, m in pairs(M.mappings) do
|
|
local out
|
|
if type(m.key) == "table" then
|
|
local first = true
|
|
local keys_lua = "key = {"
|
|
for _, sub_key in pairs(m.key) do
|
|
-- lua
|
|
keys_lua = string.format('%s%s "%s"', keys_lua, first and "" or ",", sub_key)
|
|
|
|
-- help
|
|
out = {}
|
|
if first then
|
|
out.action = m.action
|
|
out.desc = m.desc
|
|
first = false
|
|
else
|
|
out.action = ""
|
|
out.desc = ""
|
|
end
|
|
out.key = string.format("`%s`", sub_key)
|
|
max_action_help = math.max(#out.action, max_action_help)
|
|
max_key_help = math.max(#out.key, max_key_help)
|
|
table.insert(outs_help, out)
|
|
end
|
|
|
|
-- lua
|
|
out = {}
|
|
out.key = string.format("%s },", keys_lua)
|
|
table.insert(outs_lua, out)
|
|
else
|
|
-- help
|
|
out = {}
|
|
out.action = m.action
|
|
out.desc = m.desc
|
|
out.key = string.format("`%s`", m.key)
|
|
table.insert(outs_help, out)
|
|
max_action_help = math.max(#out.action, max_action_help)
|
|
max_key_help = math.max(#out.key, max_key_help)
|
|
|
|
-- lua
|
|
out = {}
|
|
out.key = string.format('key = "%s",', m.key)
|
|
table.insert(outs_lua, out)
|
|
end
|
|
|
|
--lua
|
|
out.action = string.format('action = "%s"', m.action)
|
|
max_key_lua = math.max(#out.key, max_key_lua)
|
|
end
|
|
|
|
-- help
|
|
local file = io.open("/tmp/DEFAULT_MAPPINGS.help", "w")
|
|
io.output(file)
|
|
io.write "\n"
|
|
local fmt = string.format("%%-%d.%ds %%-%d.%ds %%s\n", max_key_help, max_key_help, max_action_help, max_action_help)
|
|
for _, m in pairs(outs_help) do
|
|
if m.action == "" then
|
|
io.write(string.format("%s\n", m.key))
|
|
else
|
|
io.write(string.format(fmt, m.key, m.action, m.desc))
|
|
end
|
|
end
|
|
io.write "\n"
|
|
io.close(file)
|
|
|
|
-- lua
|
|
file = io.open("/tmp/DEFAULT_MAPPINGS.lua", "w")
|
|
io.output(file)
|
|
fmt = string.format(" { %%-%d.%ds %%s }\n", max_key_lua, max_key_lua)
|
|
for _, m in pairs(outs_lua) do
|
|
io.write(string.format(fmt, m.key, m.action))
|
|
end
|
|
io.close(file)
|
|
|
|
-- md
|
|
file = io.open("/tmp/DEFAULT_MAPPINGS.md", "w")
|
|
io.output(file)
|
|
io.write "| Default Keys | Action | Description |\n"
|
|
io.write "| - | - | - |\n"
|
|
for _, m in pairs(M.mappings) do
|
|
local keys = ""
|
|
if type(m.key) == "table" then
|
|
local first = true
|
|
for _, sub_key in pairs(m.key) do
|
|
keys = keys .. (first and "" or " <br /> ") .. sub_key:gsub("<", "\\<")
|
|
first = false
|
|
end
|
|
else
|
|
keys = m.key:gsub("<", "\\<")
|
|
end
|
|
io.write(string.format("| %s | %s | %s |\n", keys, m.action, m.desc:gsub("|", "`")))
|
|
end
|
|
io.close(file)
|