adding initial base config from astrovim
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
local is_available = astronvim.is_available
|
||||
local user_plugin_opts = astronvim.user_plugin_opts
|
||||
local mappings = {
|
||||
n = {
|
||||
["<leader>"] = {
|
||||
f = { name = "File" },
|
||||
p = { name = "Packages" },
|
||||
l = { name = "LSP" },
|
||||
u = { name = "UI" },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
local extra_sections = {
|
||||
b = "Buffers",
|
||||
D = "Debugger",
|
||||
g = "Git",
|
||||
s = "Search",
|
||||
S = "Session",
|
||||
t = "Terminal",
|
||||
}
|
||||
|
||||
local function init_table(mode, prefix, idx)
|
||||
if not mappings[mode][prefix][idx] then mappings[mode][prefix][idx] = { name = extra_sections[idx] } end
|
||||
end
|
||||
|
||||
-- TODO v3: remove vim.g.heirline_bufferline check
|
||||
if is_available "heirline.nvim" and vim.g.heirline_bufferline then init_table("n", "<leader>", "b") end
|
||||
|
||||
if is_available "neovim-session-manager" then init_table("n", "<leader>", "S") end
|
||||
|
||||
if is_available "gitsigns.nvim" then init_table("n", "<leader>", "g") end
|
||||
|
||||
if is_available "toggleterm.nvim" then
|
||||
init_table("n", "<leader>", "g")
|
||||
init_table("n", "<leader>", "t")
|
||||
end
|
||||
|
||||
if is_available "telescope.nvim" then
|
||||
init_table("n", "<leader>", "s")
|
||||
init_table("n", "<leader>", "g")
|
||||
end
|
||||
|
||||
if is_available "nvim-dap" then init_table("n", "<leader>", "D") end
|
||||
|
||||
if is_available "Comment.nvim" then
|
||||
for _, mode in ipairs { "n", "v" } do
|
||||
if not mappings[mode] then mappings[mode] = {} end
|
||||
if not mappings[mode].g then mappings[mode].g = {} end
|
||||
mappings[mode].g.c = "Comment toggle linewise"
|
||||
mappings[mode].g.b = "Comment toggle blockwise"
|
||||
end
|
||||
end
|
||||
|
||||
astronvim.which_key_register(user_plugin_opts("which-key.register", mappings))
|
||||
Reference in New Issue
Block a user