2021-07-04 16:22:16 +02:00
|
|
|
-- if not package.loaded['which-key'] then
|
|
|
|
-- return
|
|
|
|
-- end
|
2021-07-07 02:42:29 +02:00
|
|
|
local status_ok, which_key = pcall(require, "which-key")
|
|
|
|
if not status_ok then
|
|
|
|
return
|
|
|
|
end
|
2021-07-04 16:07:11 +02:00
|
|
|
|
2021-07-10 03:57:55 +02:00
|
|
|
which_key.setup(O.plugin.which_key.setup)
|
2021-06-28 18:45:45 +02:00
|
|
|
|
2021-06-30 00:55:01 +02:00
|
|
|
-- Set leader
|
2021-07-05 03:14:01 +02:00
|
|
|
if O.leader_key == " " or O.leader_key == "space" then
|
|
|
|
vim.api.nvim_set_keymap("n", "<Space>", "<NOP>", { noremap = true, silent = true })
|
|
|
|
vim.g.mapleader = " "
|
2021-06-30 00:55:01 +02:00
|
|
|
else
|
2021-07-05 03:14:01 +02:00
|
|
|
vim.api.nvim_set_keymap("n", O.leader_key, "<NOP>", { noremap = true, silent = true })
|
|
|
|
vim.g.mapleader = O.leader_key
|
2021-06-30 00:55:01 +02:00
|
|
|
end
|
2021-06-28 18:45:45 +02:00
|
|
|
|
2021-06-30 00:55:01 +02:00
|
|
|
local opts = {
|
2021-07-05 03:14:01 +02:00
|
|
|
mode = "n", -- NORMAL mode
|
|
|
|
prefix = "<leader>",
|
|
|
|
buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings
|
|
|
|
silent = true, -- use `silent` when creating keymaps
|
|
|
|
noremap = true, -- use `noremap` when creating keymaps
|
|
|
|
nowait = false, -- use `nowait` when creating keymaps
|
2021-06-30 00:55:01 +02:00
|
|
|
}
|
2021-06-28 18:45:45 +02:00
|
|
|
|
2021-06-30 00:55:01 +02:00
|
|
|
-- explorer
|
2021-06-28 18:45:45 +02:00
|
|
|
|
2021-07-05 03:14:01 +02:00
|
|
|
vim.api.nvim_set_keymap(
|
|
|
|
"n",
|
|
|
|
"<Leader>e",
|
|
|
|
":lua require'lv-nvimtree'.toggle_tree()<CR>",
|
|
|
|
{ noremap = true, silent = true }
|
|
|
|
)
|
2021-06-28 18:45:45 +02:00
|
|
|
|
2021-07-06 17:30:01 +02:00
|
|
|
vim.api.nvim_set_keymap("n", "<Leader>f", ":Telescope find_files<CR>", { noremap = true, silent = true })
|
2021-06-28 18:45:45 +02:00
|
|
|
|
2021-06-30 00:55:01 +02:00
|
|
|
-- dashboard
|
2021-07-05 03:14:01 +02:00
|
|
|
vim.api.nvim_set_keymap("n", "<Leader>;", ":Dashboard<CR>", { noremap = true, silent = true })
|
2021-06-28 18:45:45 +02:00
|
|
|
|
2021-06-30 00:55:01 +02:00
|
|
|
-- Comments
|
2021-07-05 03:14:01 +02:00
|
|
|
vim.api.nvim_set_keymap("n", "<leader>/", ":CommentToggle<CR>", { noremap = true, silent = true })
|
|
|
|
vim.api.nvim_set_keymap("v", "<leader>/", ":CommentToggle<CR>", { noremap = true, silent = true })
|
2021-06-28 18:45:45 +02:00
|
|
|
|
2021-07-08 19:19:21 +02:00
|
|
|
-- Save
|
|
|
|
vim.api.nvim_set_keymap("n", "<leader>w", ":w!<CR>", { noremap = true, silent = true })
|
|
|
|
|
2021-07-09 14:07:25 +02:00
|
|
|
-- Quit
|
2021-07-08 19:19:21 +02:00
|
|
|
vim.api.nvim_set_keymap("n", "<leader>q", ":q!<CR>", { noremap = true, silent = true })
|
|
|
|
|
2021-07-07 05:08:53 +02:00
|
|
|
-- open lv-config
|
|
|
|
vim.api.nvim_set_keymap(
|
|
|
|
"n",
|
|
|
|
"<leader>.",
|
|
|
|
":e " .. CONFIG_PATH .. "/lv-config.lua<CR>",
|
|
|
|
{ noremap = true, silent = true }
|
|
|
|
)
|
|
|
|
|
2021-07-10 03:57:55 +02:00
|
|
|
local mappings = O.plugin.which_key.mappings
|
2021-06-26 20:34:59 +02:00
|
|
|
|
2021-07-10 03:34:12 +02:00
|
|
|
-- if O.plugin.ts_playground.active then
|
|
|
|
-- vim.api.nvim_set_keymap("n", "<leader>Th", ":TSHighlightCapturesUnderCursor<CR>", { noremap = true, silent = true })
|
|
|
|
-- mappings[""] = "Highlight Capture"
|
|
|
|
-- end
|
2021-07-02 18:28:16 +02:00
|
|
|
|
2021-06-30 00:55:01 +02:00
|
|
|
if O.plugin.zen.active then
|
2021-07-05 03:14:01 +02:00
|
|
|
vim.api.nvim_set_keymap("n", "<leader>z", ":ZenMode<CR>", { noremap = true, silent = true })
|
|
|
|
mappings["z"] = "Zen"
|
2021-06-30 00:55:01 +02:00
|
|
|
end
|
2021-07-10 03:01:23 +02:00
|
|
|
|
2021-07-02 03:06:07 +02:00
|
|
|
if O.plugin.telescope_project.active then
|
2021-07-05 03:14:01 +02:00
|
|
|
-- open projects
|
|
|
|
vim.api.nvim_set_keymap(
|
|
|
|
"n",
|
2021-07-06 07:39:37 +02:00
|
|
|
"<leader>P",
|
2021-07-05 03:14:01 +02:00
|
|
|
":lua require'telescope'.extensions.project.project{}<CR>",
|
|
|
|
{ noremap = true, silent = true }
|
|
|
|
)
|
2021-07-05 21:35:06 +02:00
|
|
|
mappings["P"] = "Projects"
|
2021-06-30 00:55:01 +02:00
|
|
|
end
|
2021-06-28 18:45:45 +02:00
|
|
|
|
2021-07-02 18:28:16 +02:00
|
|
|
if O.lushmode then
|
2021-07-05 03:14:01 +02:00
|
|
|
mappings["L"] = {
|
|
|
|
name = "+Lush",
|
|
|
|
l = { ":Lushify<cr>", "Lushify" },
|
|
|
|
x = { ":lua require('lush').export_to_buffer(require('lush_theme.cool_name'))", "Lush Export" },
|
|
|
|
t = { ":LushRunTutorial<cr>", "Lush Tutorial" },
|
|
|
|
q = { ":LushRunQuickstart<cr>", "Lush Quickstart" },
|
|
|
|
}
|
2021-07-02 18:28:16 +02:00
|
|
|
end
|
|
|
|
|
2021-07-08 01:27:27 +02:00
|
|
|
if O.plugin.floatterm then
|
|
|
|
vim.api.nvim_set_keymap("n", "<leader>gg", "<CMD>lua _G.__fterm_lazygit()<CR>", { noremap = true, silent = true })
|
|
|
|
mappings["gg"] = "LazyGit"
|
|
|
|
end
|
|
|
|
|
2021-07-07 03:42:26 +02:00
|
|
|
for k, v in pairs(O.user_which_key) do
|
|
|
|
mappings[k] = v
|
|
|
|
end
|
|
|
|
|
2021-07-05 03:14:01 +02:00
|
|
|
local wk = require "which-key"
|
2021-06-30 00:55:01 +02:00
|
|
|
wk.register(mappings, opts)
|