diff options
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/keymaps.lua | 12 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/lsp/init.lua | 12 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/formatter.lua | 4 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/lspconfig.lua | 2 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/mason-lspconfig.lua | 11 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/mason-null-ls.lua | 11 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/mason.lua | 4 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/null-ls.lua | 7 | ||||
-rw-r--r-- | nvim/.config/nvim/lua/tobyvin/plugins/telescope.lua | 4 |
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" }) |