Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
63 lines
1.3 KiB
Lua
63 lines
1.3 KiB
Lua
local utils = require("neo-tree.utils")
|
|
|
|
local M = {}
|
|
|
|
M.normalize_map_key = function(key)
|
|
if key == nil then
|
|
return nil
|
|
end
|
|
if key:match("^<[^>]+>$") then
|
|
local parts = utils.split(key, "-")
|
|
if #parts == 2 then
|
|
local mod = parts[1]:lower()
|
|
if mod == "<a" then
|
|
mod = "<m"
|
|
end
|
|
local alpha = parts[2]
|
|
if #alpha > 2 then
|
|
alpha = alpha:lower()
|
|
end
|
|
key = string.format("%s-%s", mod, alpha)
|
|
return key
|
|
else
|
|
key = key:lower()
|
|
if key == "<backspace>" then
|
|
return "<bs>"
|
|
elseif key == "<enter>" then
|
|
return "<cr>"
|
|
elseif key == "<return>" then
|
|
return "<cr>"
|
|
end
|
|
end
|
|
end
|
|
return key
|
|
end
|
|
|
|
M.normalize_map = function(map)
|
|
local new_map = {}
|
|
for key, value in pairs(map) do
|
|
local normalized_key = M.normalize_map_key(key)
|
|
if normalized_key ~= nil then
|
|
new_map[normalized_key] = value
|
|
end
|
|
end
|
|
return new_map
|
|
end
|
|
|
|
local tests = {
|
|
{ "<BS>", "<bs>" },
|
|
{ "<Backspace>", "<bs>" },
|
|
{ "<Enter>", "<cr>" },
|
|
{ "<C-W>", "<c-W>" },
|
|
{ "<A-q>", "<m-q>" },
|
|
{ "<C-Left>", "<c-left>" },
|
|
{ "<C-Right>", "<c-right>" },
|
|
{ "<C-Up>", "<c-up>" },
|
|
}
|
|
for _, test in ipairs(tests) do
|
|
local key = M.normalize_map_key(test[1])
|
|
assert(key == test[2], string.format("%s != %s", key, test[2]))
|
|
end
|
|
|
|
return M
|