doc(nvim): add mappings description

This commit is contained in:
thek4n 2024-07-05 08:48:35 +03:00
parent d4ca67eba0
commit ce249bebd9
4 changed files with 56 additions and 31 deletions

View File

@ -4,6 +4,16 @@ local map = vim.keymap.set
vim.g.mapleader = ',' vim.g.mapleader = ','
-- Sections
map('n', '<Leader>h', '', {desc = "UI"})
map('n', '<Leader>c', '', {desc = "Colorschemes"})
map('n', '<Leader>f', '', {desc = "Telescope"})
map('n', '<Leader>p', '', {desc = "Config manage"})
map('n', '<Leader>q', '', {desc = "Exits"})
map('n', '<Leader>r', '', {desc = "Run file"})
local function create_function_tabdo(command) local function create_function_tabdo(command)
return function() return function()
local curr_tab = vim.fn.tabpagenr() local curr_tab = vim.fn.tabpagenr()

View File

@ -5,7 +5,7 @@ return {
}, },
config = function() config = function()
local map = vim.keymap.set local map = vim.keymap.set
map("n", "<leader><leader>", require("buffer_manager.ui").toggle_quick_menu) map("n", "<leader><leader>", require("buffer_manager.ui").toggle_quick_menu, {desc = "Buffer manager"})
vim.api.nvim_command([[ vim.api.nvim_command([[
autocmd FileType buffer_manager vnoremap <C-j> :m '>+1<CR>gv=gv autocmd FileType buffer_manager vnoremap <C-j> :m '>+1<CR>gv=gv
autocmd FileType buffer_manager vnoremap <C-k> :m '<-2<CR>gv=gv autocmd FileType buffer_manager vnoremap <C-k> :m '<-2<CR>gv=gv

View File

@ -21,6 +21,7 @@ return {
require("telescope").load_extension("refactoring") require("telescope").load_extension("refactoring")
end, end,
keys = { keys = {
{ "<space>r", "", desc = "Refactoring", mode = {"n", "v"} },
{ {
"<space>rr", "<space>rr",
":lua require('refactoring').select_refactor()<CR>", ":lua require('refactoring').select_refactor()<CR>",
@ -75,6 +76,7 @@ return {
{ {
"<leader>fr", "<leader>fr",
"<Cmd>lua require('telescope').extensions.refactoring.refactors()<CR>", "<Cmd>lua require('telescope').extensions.refactoring.refactors()<CR>",
desc = "Telescope refactorings",
mode = "n", mode = "n",
} }
} }
@ -104,18 +106,20 @@ return {
config = function() config = function()
require("trouble").setup() require("trouble").setup()
local function set_trouble_keymap(key, cmd) vim.keymap.set("n", "<space>x", "", {desc = "Diagnostics"})
local function set_trouble_keymap(key, cmd, opts)
vim.keymap.set( vim.keymap.set(
"n", "n",
string.format("<space>x%s", key), string.format("<space>x%s", key),
string.format("<cmd>Trouble %s<CR>", cmd) string.format("<cmd>Trouble %s<CR>", cmd),
opts
) )
end end
set_trouble_keymap("x", "diagnostics toggle") set_trouble_keymap("x", "diagnostics toggle", {desc = "Workspace diagnostics window"})
set_trouble_keymap("X", "diagnostics toggle filter.buf=0") set_trouble_keymap("X", "diagnostics toggle filter.buf=0", {desc = "Buffer diagnostics window"})
set_trouble_keymap("Q", "qflist toggle") set_trouble_keymap("Q", "qflist toggle", {desc = "Qflist"})
set_trouble_keymap("l", "lsp toggle focus=false win.position=right") set_trouble_keymap("l", "lsp toggle focus=false win.position=right", {desc = "Toggle LSP diagnostics"})
end end
}, },
@ -135,20 +139,22 @@ return {
} }
}) })
local function set_gitsigns_keymap(key, cmd) vim.keymap.set("n", "<space>g", "", {desc = "Git actions"})
local function set_gitsigns_keymap(key, cmd, opts)
vim.keymap.set( vim.keymap.set(
"n", "n",
string.format("<space>g%s", key), string.format("<space>g%s", key),
string.format("<cmd>Gitsigns %s<CR>", cmd) string.format("<cmd>Gitsigns %s<CR>", cmd),
opts
) )
end end
set_gitsigns_keymap('p', 'preview_hunk') -- show diff set_gitsigns_keymap('p', 'preview_hunk', {desc = "Preview hunk"})
set_gitsigns_keymap('b', 'blame_line') -- show author, hash, date and message of current line commit set_gitsigns_keymap('b', 'blame_line', {desc = "Show line commit info"})
set_gitsigns_keymap('n', 'next_hunk') -- go to next unstaged changes set_gitsigns_keymap('n', 'next_hunk', {desc = "Next changes"})
set_gitsigns_keymap('N', 'prev_hunk') -- go to prev unstaged changes set_gitsigns_keymap('N', 'prev_hunk', {desc = "Previous changes"})
set_gitsigns_keymap('r', 'reset_hunk') -- reset hunk under cursor set_gitsigns_keymap('r', 'reset_hunk', {desc = "Reset changes"})
set_gitsigns_keymap('h', 'toggle_linehl') -- line highlighting set_gitsigns_keymap('h', 'toggle_linehl', {desc = "Toggle changes highlight"})
end end
}, },
{ {
@ -173,7 +179,8 @@ return {
}, },
}, },
} }
vim.keymap.set("n", "<space>ca", require("actions-preview").code_actions) vim.keymap.set("n", "<space>c", "", {desc = "Code action"})
vim.keymap.set("n", "<space>ca", require("actions-preview").code_actions, {desc = "Code action"})
end, end,
}, },
} }

View File

@ -7,25 +7,33 @@ local on_attach = function(_, bufnr)
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc', {}) buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc', {})
-- Mappings. -- Mappings.
local opts = { noremap=true, silent=true } local opts = { noremap=true, silent=true }
local function desc(description)
return vim.tbl_extend("keep", opts, {desc = description})
end
-- Sections
buf_set_keymap('n', '<space>w', '', {desc = "Workspace manage"})
-- See `:help vim.lsp.*` for documentation on any of the below functions -- See `:help vim.lsp.*` for documentation on any of the below functions
buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts) buf_set_keymap('n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', desc("Go declaration"))
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts) buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', desc("Go definition"))
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts) buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', desc("Go implementation"))
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts) buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', desc("Get references"))
buf_set_keymap('n', '<space>k', '<cmd>lua vim.lsp.buf.hover()<CR>', opts) buf_set_keymap('n', '<space>k', '<cmd>lua vim.lsp.buf.hover()<CR>', desc("Show help"))
buf_set_keymap('n', '<space>K', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts) buf_set_keymap('n', '<space>K', '<cmd>lua vim.lsp.buf.signature_help()<CR>', desc("Show signature"))
buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts) buf_set_keymap('n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', desc("Add workspace folder"))
buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts) buf_set_keymap('n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', desc("Remove workspace folder"))
buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts) buf_set_keymap('n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', desc("Show workspace folders"))
buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts) buf_set_keymap('n', '<space>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', desc("Show type"))
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts) buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', desc("Rename object"))
buf_set_keymap('n', '<space>e', '<cmd>lua vim.diagnostic.open_float()<CR>', opts) buf_set_keymap('n', '<space>e', '<cmd>lua vim.diagnostic.open_float()<CR>', desc("Show diagnostic"))
buf_set_keymap('n', '<space>p', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts) buf_set_keymap('n', '<space>p', '<cmd>lua vim.diagnostic.goto_prev()<CR>', desc("Previous problem"))
buf_set_keymap('n', '<space>n', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts) buf_set_keymap('n', '<space>n', '<cmd>lua vim.diagnostic.goto_next()<CR>', desc("Next problem"))
buf_set_keymap('n', '<space>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts) buf_set_keymap('n', '<space>q', '<cmd>lua vim.diagnostic.setloclist()<CR>', opts)
buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.format()<CR>', opts) buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.format()<CR>', desc("Format file"))
end end
return { return {