Add which-key plugin and descriptions for all custom keymaps
This commit is contained in:
@@ -1,12 +1,29 @@
|
||||
return {
|
||||
{
|
||||
'mfussenegger/nvim-dap',
|
||||
dependencies = { 'nvim-lua/plenary.nvim' }
|
||||
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||
config = function()
|
||||
local wk = require("which-key")
|
||||
local dap = require("dap")
|
||||
wk.add({
|
||||
{ '<leader>d', group = "dap" },
|
||||
{ '<leader>db', dap.toggle_breakpoint, desc = "Toggle breakpoint" },
|
||||
{ '<leader>dc', dap.continue, desc = "Launch/resume debug session" },
|
||||
{ '<leader>do', dap.step_over, desc = "Step over" },
|
||||
{ '<leader>di', dap.step_into, desc = "Step into" },
|
||||
{ '<leader>du', dap.step_out, desc = "Step out" },
|
||||
})
|
||||
end
|
||||
},
|
||||
{
|
||||
'rcarriga/nvim-dap-ui',
|
||||
config = function()
|
||||
require("dapui").setup()
|
||||
local dapui = require("dapui")
|
||||
dapui.setup()
|
||||
local wk = require("which-key")
|
||||
wk.add({
|
||||
{ '<leader>dd', dapui.toggle, desc = "Toggle dap ui" }
|
||||
})
|
||||
end,
|
||||
dependencies = { 'mfussenegger/nvim-dap', 'nvim-neotest/nvim-nio' }
|
||||
},
|
||||
|
@@ -5,26 +5,23 @@ local lsp_attach = function(client, buf)
|
||||
|
||||
vim.lsp.inlay_hint.enable(true, nil)
|
||||
|
||||
local opts = { noremap = true, silent = true }
|
||||
vim.keymap.set('n', '<S-C-e>', require("telescope.builtin").diagnostics, opts)
|
||||
|
||||
|
||||
local bufopts = { noremap = true, silent = true, buffer = buf }
|
||||
local wk = require("which-key")
|
||||
|
||||
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, bufopts)
|
||||
vim.keymap.set('n', '<C-e>', require("telescope.builtin").diagnostics, bufopts)
|
||||
vim.keymap.set('n', '<C-ü>d', vim.diagnostic.goto_prev, bufopts)
|
||||
vim.keymap.set('n', '<C-¨>d', vim.diagnostic.goto_next, bufopts)
|
||||
wk.add({
|
||||
{ '<leader>e', vim.diagnostic.open_float, bufopts, desc = "Show diagnostics in buffer" },
|
||||
{ '<C-e>', require("telescope.builtin").diagnostics, bufopts, desc = "Show diagnostics under cursor" },
|
||||
{ '<C-ü>d', vim.diagnostic.goto_prev, bufopts },
|
||||
{ '<C-¨>d', vim.diagnostic.goto_next, bufopts },
|
||||
|
||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
|
||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
|
||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
|
||||
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
||||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
||||
vim.keymap.set('n', 'gr', require("telescope.builtin").lsp_references, bufopts)
|
||||
{ 'gD', vim.lsp.buf.declaration, bufopts, desc = "Go to declaration" },
|
||||
{ 'gd', vim.lsp.buf.definition, bufopts, desc = "Go to definition" },
|
||||
{ 'gi', vim.lsp.buf.implementation, bufopts, desc = "Go to implementation" },
|
||||
{ '<C-k>', vim.lsp.buf.signature_help, bufopts, desc = "Show signature" },
|
||||
{ '<leader>rn', vim.lsp.buf.rename, bufopts, desc = "Rename" },
|
||||
{ '<leader>ca', vim.lsp.buf.code_action, bufopts, desc = "Show code actions" },
|
||||
{ 'gr', require("telescope.builtin").lsp_references, bufopts, desc = "Shwo references" },
|
||||
})
|
||||
end
|
||||
|
||||
local mason_path = vim.fn.glob(vim.fn.stdpath "data" .. "/mason/packages/codelldb/extension/")
|
||||
|
@@ -8,6 +8,11 @@ return {
|
||||
vim.keymap.set("n", "<leader>gh", require("telescope.builtin").git_bcommits, opts)
|
||||
vim.keymap.set("n", "<leader>gb", require("telescope.builtin").git_branches, opts)
|
||||
vim.keymap.set("n", "<leader>gs", require("telescope.builtin").git_status, opts)
|
||||
vim.keymap.set('n', '<Leader>ff', '<cmd>lua require(\'telescope.builtin\').git_files()<CR>', opts)
|
||||
vim.keymap.set('n', '<Leader>fg', '<cmd>lua require(\'telescope.builtin\').live_grep()<CR>', opts)
|
||||
vim.keymap.set('n', '<Leader>fb', '<cmd>lua require(\'telescope.builtin\').buffers()<CR>', opts)
|
||||
vim.keymap.set('n', '<Leader>fh', '<cmd>lua require(\'telescope.builtin\').help_tags()<CR>', opts)
|
||||
vim.keymap.set('n', '<leader>cc', '<cmd>Telescope colorscheme<CR>')
|
||||
end
|
||||
},
|
||||
{
|
||||
|
60
lua/plugins/wk.lua
Normal file
60
lua/plugins/wk.lua
Normal file
@@ -0,0 +1,60 @@
|
||||
-- maps.lua
|
||||
|
||||
local maps = {}
|
||||
|
||||
function maps.term()
|
||||
vim.api.nvim_set_keymap('n', '<leader>t', '<C-w>s<C-w>j :terminal<CR>:res 5<CR>i',
|
||||
{ noremap = false, desc = "Open and move to terminal" })
|
||||
vim.api.nvim_set_keymap('t', 'ß<C-N>', '<C-\\><C-N>', { noremap = true, desc = "Enter normal mode in terminal" })
|
||||
end
|
||||
|
||||
function maps.fixIndent()
|
||||
vim.api.nvim_set_keymap('v', '<', '<gv', { noremap = true, desc = "Remove identation level" })
|
||||
vim.api.nvim_set_keymap('v', '>', '>gv', { noremap = true, desc = "Add identation level" })
|
||||
end
|
||||
|
||||
function maps.moveByRow()
|
||||
-- When text is wrapped, move by terminal rows, not lines, unles a count is provided
|
||||
vim.api.nvim_set_keymap('n', 'j', 'v:count == 0 ? \'gj\' : \'j\'',
|
||||
{ silent = true, expr = true, desc = "Go down 1 line" })
|
||||
vim.api.nvim_set_keymap('n', 'k', 'v:count == 0 ? \'gk\' : \'k\'',
|
||||
{ silent = true, expr = true, desc = "Go up 1 line" })
|
||||
end
|
||||
|
||||
function maps.centeredSearch()
|
||||
vim.api.nvim_set_keymap('n', 'n', 'nzzzv', { noremap = true, desc = "Search next" })
|
||||
vim.api.nvim_set_keymap('n', 'N', 'Nzzzv', { noremap = true, desc = "Search previous" })
|
||||
end
|
||||
|
||||
function maps.init()
|
||||
vim.g.mapleader = " "
|
||||
|
||||
vim.api.nvim_set_keymap('n', '<leader>b', '<cmd>Lexplore | vert res 30<CR>',
|
||||
{ noremap = true, desc = "Open file explorer" })
|
||||
|
||||
maps.term()
|
||||
maps.fixIndent()
|
||||
maps.moveByRow()
|
||||
maps.centeredSearch()
|
||||
end
|
||||
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
keys = {
|
||||
{
|
||||
"<leader>?",
|
||||
function()
|
||||
require("which-key").show({ global = false })
|
||||
end,
|
||||
desc = "Buffer Local Keymaps (which-key)",
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
require("which-key").setup({
|
||||
preset = "helix"
|
||||
})
|
||||
local wk = require("which-key")
|
||||
maps.init()
|
||||
end
|
||||
}
|
Reference in New Issue
Block a user