73 lines
2.8 KiB
Lua
73 lines
2.8 KiB
Lua
local wk = require("which-key")
|
|
local builtin = require('telescope.builtin')
|
|
|
|
-- the leader key is <space>
|
|
|
|
-- telescope
|
|
wk.add({
|
|
{ "<leader>f", group = "Telescope" },
|
|
{ "<leader>ff", builtin.find_files, desc = "Find files", mode = "n" },
|
|
{ "<leader>fg", builtin.live_grep, desc = "Live grep", mode ="n"},
|
|
{ "<leader>fb", builtin.buffers, desc = "Find in buffers", mode ="n"},
|
|
{ "<leader>fc", builtin.current_buffer_fuzzy_find, desc = "Find in current buffer", mode ="n"},
|
|
{ "<leader>fh", builtin.help_tags, desc = "Find in help tags", mode ="n"},
|
|
{ "<leader>fm", builtin.marks, desc = "Find in marks", mode ="n"},
|
|
{ "<leader>fr", builtin.resume, desc = "Resume last find", mode ="n"},
|
|
})
|
|
|
|
-- lspsaga
|
|
wk.add({
|
|
{ "<leader>l", group = "Lspsaga" },
|
|
{ "<leader>lc", "<cmd>Lspsaga code_action<cr>", desc = "Code Action", mode ="n"},
|
|
{ "<leader>lo", "<cmd>Lspsaga outline<cr>", desc = "Outline", mode ="n"},
|
|
{ "<leader>lr", "<cmd>Lspsaga rename<cr>", desc = "Rename", mode ="n"},
|
|
{ "<leader>ld", "<cmd>Lspsaga goto_definition<cr>", desc = "Lsp GoTo Definition", mode ="n"},
|
|
{ "<leader>lf", "<cmd>Lspsaga finder<cr>", desc = "Lsp Finder", mode ="n"},
|
|
{ "<leader>lp", "<cmd>Lspsaga preview_definition<cr>", desc = "Preview Definition", mode ="n"},
|
|
{ "<leader>ls", "<cmd>Lspsaga signature_help<cr>", desc = "Signature Help", mode ="n"},
|
|
{ "<leader>lw", "<cmd>Lspsaga show_workspace_diagnostics<cr>", desc = "Show Workspace Diagnostics", mode ="n"},
|
|
})
|
|
|
|
-- clear searchterm
|
|
vim.keymap.set('n', '<F5>', ':noh<CR>')
|
|
|
|
-- prevent using arrow keys or mouse
|
|
vim.keymap.set('n', '<Left>', ':echoe "Yo retard use h"<CR>')
|
|
vim.keymap.set('n', '<Right>', ':echoe "Yo retard use l"<CR>')
|
|
vim.keymap.set('n', '<Up>', ':echoe "Yo retard use k"<CR>')
|
|
vim.keymap.set('n', '<Down>', ':echoe "Yo retard use j"<CR>')
|
|
vim.opt.mouse = ''
|
|
|
|
-- dont automatically jump when searching
|
|
vim.keymap.set('n', '*', '*```<CR>')
|
|
|
|
-- show lsp floating tooltip
|
|
vim.keymap.set('n', '<c-k>', ':lua vim.lsp.buf.hover()<CR>')
|
|
|
|
-- toggle tagbar plugin
|
|
vim.keymap.set('n', '<F8>', ':TagbarToggle fj<CR>')
|
|
|
|
-- tab navigation using <TAB>
|
|
vim.keymap.set('n', '<Tab>', ':tabnext<CR>')
|
|
vim.keymap.set('n', '<S-Tab>', ':tabprevious<CR>')
|
|
-- quick close tab
|
|
vim.keymap.set('n', '<C-w>', ':tabclose<CR>')
|
|
|
|
-- jump to definition in new tab
|
|
vim.keymap.set('n', '<C-]>', '<cmd>tab split | lua vim.lsp.buf.definition()<CR>', {})
|
|
|
|
-- change split window
|
|
vim.keymap.set('n', '<C-k>', ':wincmd k<CR>')
|
|
vim.keymap.set('n', '<C-j>', ':wincmd j<CR>')
|
|
vim.keymap.set('n', '<C-h>', ':wincmd h<CR>')
|
|
vim.keymap.set('n', '<C-l>', ':wincmd l<CR>')
|
|
|
|
-- move split to tab
|
|
vim.keymap.set('n', '<C-m>', ':tab split<CR>')
|
|
|
|
-- open context menu
|
|
vim.keymap.set("n", "<C-t>", function()
|
|
require("menu").open("default")
|
|
end, {})
|
|
|