summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-09-23 14:52:38 -0500
committerToby Vincent <tobyv13@gmail.com>2022-09-23 14:52:38 -0500
commitf3b213f0a38b6b871a3c9e076b16f3bc71863dc6 (patch)
tree4128de83d27812312ea870fffcb9307f4b72b3ed
parent21b09094553d4e3ab7e2e28e7a226634d9652cc7 (diff)
feat(nvim): improve keymaps
-rw-r--r--nvim/.config/nvim/lua/tobyvin/keymaps.lua12
-rw-r--r--nvim/.config/nvim/lua/tobyvin/lsp/init.lua12
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/formatter.lua4
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua2
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/mason-lspconfig.lua11
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/mason-null-ls.lua11
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/mason.lua4
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua7
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua4
9 files changed, 47 insertions, 20 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/keymaps.lua b/nvim/.config/nvim/lua/tobyvin/keymaps.lua
index 3f2f95b..c62d36a 100644
--- a/nvim/.config/nvim/lua/tobyvin/keymaps.lua
+++ b/nvim/.config/nvim/lua/tobyvin/keymaps.lua
@@ -10,18 +10,20 @@ M.training_wheels = function()
end
M.setup = function()
- vim.keymap.set("i", "<C-c>", M.training_wheels, { desc = "Helper to quit using <C-c>" })
- vim.keymap.set("n", "<C-u>", "<C-u>zz", { desc = "Up half page and center" })
- vim.keymap.set("n", "<C-d>", "<C-d>zz", { desc = "Down half page and center" })
vim.keymap.set("n", "<leader>q", utils.quit, { desc = "Quit" })
vim.keymap.set("n", "<leader>c", utils.bdelete, { desc = "Close" })
vim.keymap.set("n", "<leader>x", utils.tabclose, { desc = "Close" })
vim.keymap.set("n", "<leader>h", utils.hover, { desc = "Hover" })
vim.keymap.set("n", "<leader>H", utils.docs, { desc = "Docs" })
vim.keymap.set("n", "<leader>w", M.write, { desc = "Write" })
+ vim.keymap.set("i", "<C-c>", M.training_wheels, { desc = "Helper to quit using <C-c>" })
+ vim.keymap.set("n", "<C-u>", "<C-u>zz", { desc = "Up half page and center" })
+ vim.keymap.set("n", "<C-d>", "<C-d>zz", { desc = "Down half page and center" })
+ vim.keymap.set("n", "<a-j>", "<CMD>m +1<CR>", { desc = "Move line down" })
+ vim.keymap.set("n", "<a-k>", "<CMD>m -2<CR>", { desc = "Move line up" })
- vim.keymap.set("v", "<a-k>", ":m '<-2<CR>gv=gv", { desc = "Move selection up" })
- vim.keymap.set("v", "<a-j>", ":m '>+1<CR>gv=gv", { desc = "Move selection down" })
+ vim.keymap.set("v", "<a-k>", "<CMD>m '<-2<CR>gv=gv", { desc = "Move selection up" })
+ vim.keymap.set("v", "<a-j>", "<CMD>m '>+1<CR>gv=gv", { desc = "Move selection down" })
local nmap_run = utils.create_map_group("n", "<leader>r", { desc = "Run" })
diff --git a/nvim/.config/nvim/lua/tobyvin/lsp/init.lua b/nvim/.config/nvim/lua/tobyvin/lsp/init.lua
index a07a6c1..33ac623 100644
--- a/nvim/.config/nvim/lua/tobyvin/lsp/init.lua
+++ b/nvim/.config/nvim/lua/tobyvin/lsp/init.lua
@@ -2,8 +2,13 @@ local utils = require("tobyvin.utils")
local M = {}
M.on_attach = function(client, bufnr)
- -- vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
- -- vim.api.nvim_buf_set_option(bufnr, "tagfunc", "v:lua.vim.lsp.tagfunc")
+ if client.server_capabilities.completionProvider then
+ vim.bo[bufnr].omnifunc = "v:lua.vim.lsp.omnifunc"
+ end
+
+ if client.server_capabilities.definitionProvider then
+ vim.bo[bufnr].tagfunc = "v:lua.vim.lsp.tagfunc"
+ end
vim.keymap.set("n", "gd", vim.lsp.buf.definition, { desc = "Definition", buffer = bufnr })
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { desc = "Declaration", buffer = bufnr })
@@ -14,12 +19,13 @@ M.on_attach = function(client, bufnr)
vim.keymap.set("n", "<C-k>", vim.lsp.buf.signature_help, { desc = "Signature Help", buffer = bufnr })
utils.create_map_group("n", "<leader>l", { desc = "LSP", buffer = bufnr })
+ vim.keymap.set("n", "<leader>li", "<CMD>LspInfo<CR>", { desc = "LSP info" })
vim.keymap.set("n", "<leader>lr", vim.lsp.buf.rename, { desc = "Rename", buffer = bufnr })
vim.keymap.set("n", "<leader>la", vim.lsp.buf.code_action, { desc = "Code Action", buffer = bufnr })
vim.keymap.set("n", "<leader>ll", vim.lsp.codelens.run, { desc = "Codelens", buffer = bufnr })
-- disabled in favor of https://github.com/nvim-treesitter/nvim-treesitter-refactor#highlight-definitions
- -- require("tobyvin.lsp.highlighting").on_attach(client, bufnr)
+ require("tobyvin.lsp.highlighting").on_attach(client, bufnr)
require("tobyvin.lsp.diagnostics").on_attach(client, bufnr)
require("tobyvin.lsp.formatting").on_attach(client, bufnr)
require("tobyvin.lsp.symbol").on_attach(client, bufnr)
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/formatter.lua b/nvim/.config/nvim/lua/tobyvin/plugins/formatter.lua
index 3a993cc..5551618 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/formatter.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/formatter.lua
@@ -30,8 +30,8 @@ M.setup = function()
},
})
- vim.keymap.set("n", "<leader>lf", ":Format<CR>", { desc = "Format" })
- vim.keymap.set("n", "<leader>lF", ":FormatWrite<CR>", { desc = "Format Write" })
+ vim.keymap.set("n", "<leader>lf", "<CMD>Format<CR>", { desc = "Format" })
+ vim.keymap.set("n", "<leader>lF", "<CMD>FormatWrite<CR>", { desc = "Format Write" })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua b/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
index 1884627..77482fa 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua
@@ -95,8 +95,6 @@ M.setup = function()
},
})
- local nmap = utils.create_map_group("n", "<leader>l", { desc = "LSP" })
- nmap("i", "<cmd>LspInfo<cr>", { desc = "LSP info" })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/mason-lspconfig.lua b/nvim/.config/nvim/lua/tobyvin/plugins/mason-lspconfig.lua
index 3ceb6df..094dd81 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/mason-lspconfig.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/mason-lspconfig.lua
@@ -8,6 +8,17 @@ M.setup = function()
end
mason_lspconfig.setup()
+
+ vim.api.nvim_create_autocmd("LspAttach", {
+ callback = function(args)
+ local client = vim.lsp.get_client_by_id(args.data.client_id)
+ if client.name == "null-ls" then
+ return
+ end
+ local bufnr = args.buf
+ vim.keymap.set("n", "<leader>lI", "<CMD>LspInstall<CR>", { desc = "LSP Install", buffer = bufnr })
+ end,
+ })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/mason-null-ls.lua b/nvim/.config/nvim/lua/tobyvin/plugins/mason-null-ls.lua
index 249e2a9..3e73bdf 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/mason-null-ls.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/mason-null-ls.lua
@@ -9,7 +9,16 @@ M.setup = function()
mason_null_ls.setup()
- vim.keymap.set("n", "<leader>N", "<CMD>NullLsInstall<CR>", { desc = "Null-LS Install" })
+ vim.api.nvim_create_autocmd("LspAttach", {
+ callback = function(args)
+ local client = vim.lsp.get_client_by_id(args.data.client_id)
+ if client.name ~= "null-ls" then
+ return
+ end
+ local bufnr = args.buf
+ vim.keymap.set("n", "<leader>lN", "<CMD>NullLsInstall<CR>", { desc = "Null-LS Install", buffer = bufnr })
+ end,
+ })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/mason.lua b/nvim/.config/nvim/lua/tobyvin/plugins/mason.lua
index f622855..f53e4b0 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/mason.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/mason.lua
@@ -17,8 +17,8 @@ M.setup = function()
},
})
- vim.keymap.set("n", "<leader>i", ":Mason<CR>", { desc = "Mason" })
- vim.keymap.set("n", "<leader>I", ":MasonLog<CR>", { desc = "Mason Log" })
+ vim.keymap.set("n", "<leader>m", "<CMD>Mason<CR>", { desc = "Mason" })
+ vim.keymap.set("n", "<leader>M", "<CMD>MasonLog<CR>", { desc = "Mason Log" })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua b/nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua
index ed7817a..131e246 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua
@@ -24,10 +24,11 @@ M.setup = function()
null_ls.builtins.formatting.stylua,
null_ls.builtins.formatting.shfmt,
},
- on_attach = lsp.on_attach,
+ on_attach = function(client, bufnr)
+ vim.keymap.set("n", "<leader>ln", "<CMD>NullLsInfo<CR>", { desc = "Null-LS Info", buffer = bufnr })
+ lsp.on_attach(client, bufnr)
+ end,
})
-
- vim.keymap.set("n", "<leader>n", "<CMD>NullLsInfo<CR>", { desc = "Null-LS Info" })
end
return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua b/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua
index c77b080..430f8f1 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua
@@ -68,8 +68,8 @@ M.setup = function()
local nmap_find = require("tobyvin.utils").create_map_group("n", "<leader>f", { desc = "Find" })
nmap_find("a", builtins.autocommands, { desc = "Autocommands" })
nmap_find("b", builtins.buffers, { desc = "Buffers" })
- nmap_find("c", builtins.command_history, { desc = "Command History" })
- nmap_find("C", builtins.commands, { desc = "Commands" })
+ nmap_find("c", builtins.commands, { desc = "Commands" })
+ nmap_find("C", builtins.command_history, { desc = "Command History" })
nmap_find("f", builtins.find_files, { desc = "Files" })
nmap_find("F", builtins.filetypes, { desc = "Filetypes" })
nmap_find("g", builtins.live_grep, { desc = "Grep" })