From 5966aa4882ca7418c66f4393343f89c043a6f396 Mon Sep 17 00:00:00 2001 From: Matthew Leong Date: Mon, 9 Jan 2023 15:28:39 -0800 Subject: [PATCH] start keymap descriptions --- lazy-lock.json | 9 ++--- lua/cosmic/core/mappings.lua | 32 ++++++++--------- lua/cosmic/lsp/mappings.lua | 50 +++++++++++++++++---------- lua/cosmic/plugins/cosmic-ui/init.lua | 11 ++++-- lua/cosmic/plugins/lsp-lines/init.lua | 1 + lua/cosmic/plugins/which-key/init.lua | 15 ++++++++ 6 files changed, 77 insertions(+), 41 deletions(-) create mode 100644 lua/cosmic/plugins/which-key/init.lua diff --git a/lazy-lock.json b/lazy-lock.json index 85e92c4..36b5ac6 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -26,12 +26,12 @@ "nvim-lsp-ts-utils": { "branch": "main", "commit": "0a6a16ef292c9b61eac6dad00d52666c7f84b0e7" }, "nvim-lspconfig": { "branch": "master", "commit": "7b98aadc6e85db4fc3af6c1ec22c4774d965506e" }, "nvim-notify": { "branch": "master", "commit": "b005821516f1f37801a73067afd1cef2dbc4dfe8" }, - "nvim-tree.lua": { "branch": "master", "commit": "87961d38a7b6cd799ebe193946e86a1037ba66e8" }, - "nvim-treesitter": { "branch": "master", "commit": "ed021ac3affdfd04a26325896d221f5f519e5971" }, + "nvim-tree.lua": { "branch": "master", "commit": "677d54afee1dfa7a30eb9e16ab7d9d1affc6484b" }, + "nvim-treesitter": { "branch": "master", "commit": "5fb315df12a3091f241b0326aed0ec70381adbd8" }, "nvim-treesitter-refactor": { "branch": "master", "commit": "75f5895cc662d61eb919da8050b7a0124400d589" }, "nvim-ts-autotag": { "branch": "main", "commit": "fdefe46c6807441460f11f11a167a2baf8e4534b" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "4a42b30376c1bd625ab5016c2079631d531d797a" }, - "nvim-web-devicons": { "branch": "master", "commit": "7f55bc36eddec87597167a97de5b690997edaf7d" }, + "nvim-web-devicons": { "branch": "master", "commit": "6c38926351372ea87034dec26182b62c835ff3bc" }, "plenary.nvim": { "branch": "master", "commit": "9d81624fbcedd3dd43b38d7e13a1e7b3f873d8cd" }, "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "fab3e2212e206f4f8b3bbaa656e129443c9b802e" }, @@ -40,5 +40,6 @@ "tokyonight.nvim": { "branch": "main", "commit": "def91651c41f6d1d43ebcb50763324d35331baee" }, "vim-floaterm": { "branch": "master", "commit": "280b34a0760801168a67f952542b6c49292aa5f3" }, "vim-fugitive": { "branch": "master", "commit": "99cdb88bc64063dc4656ae53496f06fb2a394cd4" }, - "vim-hcl": { "branch": "main", "commit": "1e1116c17a5774851360ea8077f349e36fc733c1" } + "vim-hcl": { "branch": "main", "commit": "1e1116c17a5774851360ea8077f349e36fc733c1" }, + "which-key.nvim": { "branch": "main", "commit": "85f69b07afce4ea77c58ae9a3aeb4e6c918b4d34" } } \ No newline at end of file diff --git a/lua/cosmic/core/mappings.lua b/lua/cosmic/core/mappings.lua index 769a499..5af6ff2 100644 --- a/lua/cosmic/core/mappings.lua +++ b/lua/cosmic/core/mappings.lua @@ -1,25 +1,25 @@ local map = require('cosmic.utils').map -- Quickfix mappings -map('n', 'ck', ':cexpr []') -map('n', 'cc', ':cclose ') -map('n', 'co', ':copen ') -map('n', 'cf', ':cfdo %s/') -map('n', 'cp', ':cprevzz') -map('n', 'cn', ':cnextzz') +map('n', 'ck', ':cexpr []', { desc = 'Clear list' }) +map('n', 'cc', ':cclose ', { desc = 'Close list' }) +map('n', 'co', ':copen ', { desc = 'Open list' }) +map('n', 'cf', ':cfdo %s/', { desc = 'Search & Replace' }) +map('n', 'cp', ':cprevzz', { desc = 'Prev Item' }) +map('n', 'cn', ':cnextzz', { desc = 'Next Item' }) -- buffer navigation -map('n', 'bp', ':bprev') -map('n', 'bn', ':bnext') -map('n', 'bd', ':bdelete') +map('n', 'bp', ':bprev', { desc = 'Prev buffer' }) +map('n', 'bn', ':bnext', { desc = 'Next buffer' }) +map('n', 'bd', ':bdelete', { desc = 'Delete buffer' }) -- tab navigation -map('n', 'tp', ':tabprevious') -map('n', 'tn', ':tabnext') -map('n', 'td', ':tabclose') +map('n', 'tp', ':tabprevious', { desc = 'Prev tab' }) +map('n', 'tn', ':tabnext', { desc = 'Next tab' }) +map('n', 'td', ':tabclose', { desc = 'Close tab' }) -- resize with arrows -map('n', '', ':resize -2') -map('n', '', ':resize +2') -map('n', '', ':vertical resize -2') -map('n', '', ':vertical resize +2') +map('n', '', ':resize -2', { desc = 'Resize -2' }) +map('n', '', ':resize +2', { desc = 'Resize +2' }) +map('n', '', ':vertical resize -2', { desc = 'Vertical Resize -2' }) +map('n', '', ':vertical resize +2', { desc = 'Vertical Resize +2' }) diff --git a/lua/cosmic/lsp/mappings.lua b/lua/cosmic/lsp/mappings.lua index 0bd264f..cd35cf5 100644 --- a/lua/cosmic/lsp/mappings.lua +++ b/lua/cosmic/lsp/mappings.lua @@ -1,4 +1,5 @@ local utils = require('cosmic.utils') +local lsp_utils = require('cosmic.utils.lsp') local M = {} -- Mappings. @@ -7,37 +8,50 @@ function M.init(client, bufnr) noremap = false, }) - buf_map('n', 'gd', 'lua vim.lsp.buf.definition()') - buf_map('n', 'gD', 'lua vim.lsp.buf.declaration()') - buf_map('n', 'gi', 'lua vim.lsp.buf.implementation()') - buf_map('n', 'gt', 'lua vim.lsp.buf.type_definition()') - buf_map('n', 'gr', 'lua vim.lsp.buf.references()') + buf_map('n', 'gd', 'lua vim.lsp.buf.definition()', { desc = 'Go to definition' }) + buf_map('n', 'gD', 'lua vim.lsp.buf.declaration()', { desc = 'Go to declaration' }) + buf_map('n', 'gi', 'lua vim.lsp.buf.implementation()', { desc = 'Go to implementation' }) + buf_map('n', 'gt', 'lua vim.lsp.buf.type_definition()', { desc = 'Go to type definition' }) + buf_map('n', 'gr', 'lua vim.lsp.buf.references()', { desc = 'Find references' }) -- diagnostics - buf_map('n', '[g', 'lua vim.diagnostic.goto_prev()') - buf_map('n', ']g', 'lua vim.diagnostic.goto_next()') - buf_map('n', 'ge', 'lua vim.diagnostic.open_float(nil, { scope = "line", })') - buf_map('n', 'ge', 'lua vim.diagnostic.open_float(nil, { scope = "buffer", })') + buf_map('n', '[g', 'lua vim.diagnostic.goto_prev()', { desc = 'Next diagnostic' }) + buf_map('n', ']g', 'lua vim.diagnostic.goto_next()', { desc = 'Prev diagnostic' }) + buf_map( + 'n', + 'ge', + 'lua vim.diagnostic.open_float(nil, { scope = "line", })', + { desc = 'Show current line diagnostic' } + ) + buf_map( + 'n', + 'ge', + 'lua vim.diagnostic.open_float(nil, { scope = "buffer", })', + { desc = 'Show buffer diagnostic' } + ) -- hover - buf_map('n', 'K', 'lua vim.lsp.buf.hover()') + buf_map('n', 'K', 'lua vim.lsp.buf.hover()', { desc = 'Show documentation' }) -- code actions - buf_map('n', 'gn', 'lua vim.lsp.buf.rename()') - buf_map('n', 'ga', 'lua vim.lsp.buf.code_actions()') - buf_map('v', 'ga', 'lua vim.lsp.buf.range_code_actions()') + buf_map('n', 'gn', 'lua vim.lsp.buf.rename()', { desc = 'Rename' }) + buf_map('n', 'ga', 'lua vim.lsp.buf.code_actions()', { desc = 'Code Actions' }) + buf_map('v', 'ga', 'lua vim.lsp.buf.range_code_actions()', { desc = 'Range Code Actions' }) -- formatting - buf_map('n', 'gf', 'lua vim.lsp.buf.formatting()') - buf_map('v', 'gf', 'lua vim.lsp.buf.range_formatting()') + buf_map('n', 'gf', '', { desc = 'Format', callback = lsp_utils.format }) + buf_map('v', 'gf', 'lua vim.lsp.buf.range_formatting()', { desc = 'Range Format' }) -- lsp workspace - buf_map('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()') - buf_map('n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()') + buf_map('n', 'wa', 'lua vim.lsp.buf.add_workspace_folder()', { desc = 'Add workspace folder' }) + buf_map('n', 'wr', 'lua vim.lsp.buf.remove_workspace_folder()', { + desc = 'Remove workspace folder', + }) buf_map( 'n', 'wl', - 'lua require("cosmic.utils.logger"):log(vim.inspect(vim.lsp.buf.list_workspace_folders()))' + 'lua require("cosmic.utils.logger"):log(vim.inspect(vim.lsp.buf.list_workspace_folders()))', + { desc = 'Show workspace folders' } ) end diff --git a/lua/cosmic/plugins/cosmic-ui/init.lua b/lua/cosmic/plugins/cosmic-ui/init.lua index d7f41af..f819bb5 100644 --- a/lua/cosmic/plugins/cosmic-ui/init.lua +++ b/lua/cosmic/plugins/cosmic-ui/init.lua @@ -14,9 +14,14 @@ return { user_config.lsp.add_on_attach_mapping(function(client, bufnr) local buf_map = utils.create_buf_map(bufnr) - buf_map('n', 'gn', 'lua require("cosmic-ui").rename()') - buf_map('n', 'ga', 'lua require("cosmic-ui").code_actions()') - buf_map('v', 'ga', 'lua require("cosmic-ui").range_code_actions()') + buf_map('n', 'gn', 'lua require("cosmic-ui").rename()', { desc = 'Rename' }) + buf_map('n', 'ga', 'lua require("cosmic-ui").code_actions()', { desc = 'Code Actions' }) + buf_map( + 'v', + 'ga', + 'lua require("cosmic-ui").range_code_actions()', + { desc = 'Range Code Actions' } + ) end) end, config = function() diff --git a/lua/cosmic/plugins/lsp-lines/init.lua b/lua/cosmic/plugins/lsp-lines/init.lua index 6ec6036..d44f975 100644 --- a/lua/cosmic/plugins/lsp-lines/init.lua +++ b/lua/cosmic/plugins/lsp-lines/init.lua @@ -34,6 +34,7 @@ return { -- map for toggling lines map('n', 'ld', '', { callback = toggle, + desc = 'Toggle LSP Lines', }) end, enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'lsp_lines'), diff --git a/lua/cosmic/plugins/which-key/init.lua b/lua/cosmic/plugins/which-key/init.lua new file mode 100644 index 0000000..7438133 --- /dev/null +++ b/lua/cosmic/plugins/which-key/init.lua @@ -0,0 +1,15 @@ +local user_config = require('cosmic.core.user') +return { + { -- color scheme + 'folke/which-key.nvim', + config = function() + require('which-key').setup({ + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + }) + end, + event = 'VeryLazy', + enabled = not vim.tbl_contains(user_config.disable_builtin_plugins, 'which-key'), + }, +}