plugin mappings
This commit is contained in:
parent
510ab5ec4e
commit
37c3c6da98
51
init.lua
51
init.lua
|
@ -3,6 +3,10 @@ local g = vim.g
|
||||||
g.maplocalleader = ";"
|
g.maplocalleader = ";"
|
||||||
g.python3_host_prog = "/usr/bin/python3"
|
g.python3_host_prog = "/usr/bin/python3"
|
||||||
|
|
||||||
|
-- disable netrw at the very start of your init.lua
|
||||||
|
vim.g.loaded_netrw = 1
|
||||||
|
vim.g.loaded_netrwPlugin = 1
|
||||||
|
|
||||||
opt.mouse = "a" -- mouse does annoying things for me if it's not 'a'
|
opt.mouse = "a" -- mouse does annoying things for me if it's not 'a'
|
||||||
opt.signcolumn = "yes"
|
opt.signcolumn = "yes"
|
||||||
opt.clipboard = "" -- don't just use the system clipboard
|
opt.clipboard = "" -- don't just use the system clipboard
|
||||||
|
@ -143,46 +147,11 @@ if vim.g.vscode then
|
||||||
end
|
end
|
||||||
|
|
||||||
-- mappings
|
-- mappings
|
||||||
local load_mappings = function(section, mapping_opt)
|
local utils = require("core.utils")
|
||||||
vim.schedule(function()
|
utils.load_mappings("clipboard")
|
||||||
local function set_section_map(section_values)
|
utils.load_mappings("movements")
|
||||||
if section_values.plugin then
|
utils.load_mappings("edit")
|
||||||
return
|
utils.load_mappings("tabs")
|
||||||
end
|
utils.load_mappings("ui")
|
||||||
|
|
||||||
section_values.plugin = nil
|
|
||||||
|
|
||||||
local merge_tb = vim.tbl_deep_extend
|
|
||||||
for mode, mode_values in pairs(section_values) do
|
|
||||||
local default_opts = merge_tb("force", { mode = mode }, mapping_opt or {})
|
|
||||||
for keybind, mapping_info in pairs(mode_values) do
|
|
||||||
-- merge default + user opts
|
|
||||||
local opts = merge_tb("force", default_opts, mapping_info.opts or {})
|
|
||||||
|
|
||||||
mapping_info.opts, opts.mode = nil, nil
|
|
||||||
opts.desc = mapping_info[2]
|
|
||||||
|
|
||||||
vim.keymap.set(mode, keybind, mapping_info[1], opts)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local mappings = require("mappings")
|
|
||||||
|
|
||||||
if type(section) == "string" then
|
|
||||||
mappings[section]["plugin"] = nil
|
|
||||||
mappings = { mappings[section] }
|
|
||||||
end
|
|
||||||
|
|
||||||
for _, sect in pairs(mappings) do
|
|
||||||
set_section_map(sect)
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
load_mappings("clipboard")
|
|
||||||
load_mappings("movements")
|
|
||||||
load_mappings("edit")
|
|
||||||
load_mappings("tabs")
|
|
||||||
load_mappings("ui")
|
|
||||||
|
|
||||||
require("plugins")
|
require("plugins")
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
local M = {}
|
||||||
|
M.load_mappings = function(section, mapping_opt)
|
||||||
|
vim.schedule(function()
|
||||||
|
local function set_section_map(section_values)
|
||||||
|
if section_values.plugin then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
section_values.plugin = nil
|
||||||
|
|
||||||
|
local merge_tb = vim.tbl_deep_extend
|
||||||
|
for mode, mode_values in pairs(section_values) do
|
||||||
|
local default_opts = merge_tb("force", { mode = mode }, mapping_opt or {})
|
||||||
|
for keybind, mapping_info in pairs(mode_values) do
|
||||||
|
-- merge default + user opts
|
||||||
|
local opts = merge_tb("force", default_opts, mapping_info.opts or {})
|
||||||
|
|
||||||
|
mapping_info.opts, opts.mode = nil, nil
|
||||||
|
opts.desc = mapping_info[2]
|
||||||
|
|
||||||
|
vim.keymap.set(mode, keybind, mapping_info[1], opts)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local mappings = require("mappings")
|
||||||
|
|
||||||
|
if type(section) == "string" then
|
||||||
|
mappings[section]["plugin"] = nil
|
||||||
|
mappings = { mappings[section] }
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, sect in pairs(mappings) do
|
||||||
|
set_section_map(sect)
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
return M
|
|
@ -399,4 +399,17 @@ M.ui = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
M.trailspace = {
|
||||||
|
plugin = true,
|
||||||
|
n = {
|
||||||
|
-- remove trailing whitespace
|
||||||
|
["<leader>fw"] = {
|
||||||
|
function()
|
||||||
|
require("mini.trailspace").trim()
|
||||||
|
end,
|
||||||
|
"remove whitespace",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|
|
@ -25,6 +25,9 @@ require("lazy").setup({
|
||||||
{
|
{
|
||||||
"ggandor/leap.nvim",
|
"ggandor/leap.nvim",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
require("core.utils").load_mappings "leap"
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ggandor/flit.nvim",
|
"ggandor/flit.nvim",
|
||||||
|
@ -46,6 +49,9 @@ require("lazy").setup({
|
||||||
lazy = false,
|
lazy = false,
|
||||||
event = { "BufReadPost", "BufNewFile" },
|
event = { "BufReadPost", "BufNewFile" },
|
||||||
opts = {},
|
opts = {},
|
||||||
|
config = function()
|
||||||
|
require("core.utils").load_mappings "trailspace"
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
-- exit insert mode with 'jk'
|
-- exit insert mode with 'jk'
|
||||||
|
@ -62,4 +68,12 @@ require("lazy").setup({
|
||||||
-- <Leader>tm is automatically set for toggle
|
-- <Leader>tm is automatically set for toggle
|
||||||
-- see <Leader>t menu
|
-- see <Leader>t menu
|
||||||
},
|
},
|
||||||
|
"nvim-tree/nvim-web-devicons",
|
||||||
|
{
|
||||||
|
"nvim-tree/nvim-tree.lua",
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
require("nvim-tree").setup()
|
||||||
|
end,
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue