diff --git a/.config/nvim/lazyvim.json b/.config/nvim/lazyvim.json index 69f91199..af83ca1f 100644 --- a/.config/nvim/lazyvim.json +++ b/.config/nvim/lazyvim.json @@ -79,11 +79,12 @@ "plugins.extras.lang.web.typescript-extended", "plugins.extras.linting.pylint", "plugins.extras.linting.shellcheck", + "plugins.extras.lsp.actions-preview", "plugins.extras.lsp.compiler", "plugins.extras.lsp.garbage-day", + "plugins.extras.lsp.glance", "plugins.extras.lsp.lens", "plugins.extras.lsp.lightbulb", - "plugins.extras.lsp.lsp-extended", "plugins.extras.ui.alpha", "plugins.extras.ui.block", "plugins.extras.ui.breadcrumbs", diff --git a/.config/nvim/lua/plugins/extras/lsp/actions-preview.lua b/.config/nvim/lua/plugins/extras/lsp/actions-preview.lua new file mode 100644 index 00000000..caa958b9 --- /dev/null +++ b/.config/nvim/lua/plugins/extras/lsp/actions-preview.lua @@ -0,0 +1,34 @@ +return { + "aznhe21/actions-preview.nvim", + init = function() + local keys = require("lazyvim.plugins.lsp.keymaps").get() + + keys[#keys + 1] = { "ca", false } + end, + event = "LspAttach", + opts = { + telescope = { + sorting_strategy = "ascending", + layout_strategy = "vertical", + layout_config = { + width = 0.8, + height = 0.9, + prompt_position = "top", + preview_cutoff = 20, + preview_height = function(_, _, max_lines) + return max_lines - 15 + end, + }, + }, + }, + keys = { + { + "ca", + function() + require("actions-preview").code_actions() + end, + mode = { "n", "v" }, + desc = "Code Action Preview", + }, + }, +} diff --git a/.config/nvim/lua/plugins/extras/lsp/glance.lua b/.config/nvim/lua/plugins/extras/lsp/glance.lua new file mode 100644 index 00000000..59ebe4b3 --- /dev/null +++ b/.config/nvim/lua/plugins/extras/lsp/glance.lua @@ -0,0 +1,23 @@ +return { + "dnlhc/glance.nvim", + init = function() + local keys = require("lazyvim.plugins.lsp.keymaps").get() + + keys[#keys + 1] = { "gd", false } + keys[#keys + 1] = { "gr", false } + keys[#keys + 1] = { "gy", false } + keys[#keys + 1] = { "gI", false } + end, + cmd = { "Glance" }, + opts = { + border = { + enable = true, + }, + }, + keys = { + { "gd", "Glance definitions", desc = "Goto Definition" }, + { "gr", "Glance references", desc = "References" }, + { "gy", "Glance type_definitions", desc = "Goto t[y]pe definitions" }, + { "gI", "Glance implementations", desc = "Goto implementations" }, + }, +} diff --git a/.config/nvim/lua/plugins/extras/lsp/lens.lua b/.config/nvim/lua/plugins/extras/lsp/lens.lua index 77562a3f..0ddc12f4 100644 --- a/.config/nvim/lua/plugins/extras/lsp/lens.lua +++ b/.config/nvim/lua/plugins/extras/lsp/lens.lua @@ -51,7 +51,13 @@ return { { "Wansmer/symbol-usage.nvim", enabled = false, - event = "BufReadPre", -- need run before LspAttach if you use nvim 0.9. On 0.10 use 'LspAttach' + event = function() + if vim.fn.has("nvim-0.10") == 1 then + return "LspAttach" + else + return "BufRead" + end + end, opts = { text_format = text_format, }, diff --git a/.config/nvim/lua/plugins/extras/lsp/lsp-extended.lua b/.config/nvim/lua/plugins/lspconfig.lua similarity index 80% rename from .config/nvim/lua/plugins/extras/lsp/lsp-extended.lua rename to .config/nvim/lua/plugins/lspconfig.lua index 183ccee3..0138aa1f 100644 --- a/.config/nvim/lua/plugins/extras/lsp/lsp-extended.lua +++ b/.config/nvim/lua/plugins/lspconfig.lua @@ -22,13 +22,6 @@ return { init = function() local keys = require("lazyvim.plugins.lsp.keymaps").get() - keys[#keys + 1] = { "gd", false } - keys[#keys + 1] = { "gr", false } - keys[#keys + 1] = { "gy", false } - keys[#keys + 1] = { "gI", false } - - keys[#keys + 1] = { "ca", false } - keys[#keys + 1] = { "cl", false } keys[#keys + 1] = { "cil", "LspInfo", desc = "Lsp" } keys[#keys + 1] = { "uv", toggle_diag_virtext, desc = "Toggle Diagnostic VirtualText" } @@ -91,7 +84,7 @@ return { }, }, inlay_hints = { - enabled = false, + enabled = true, }, servers = { lua_ls = { @@ -152,61 +145,24 @@ return { }, }, }, - { - "aznhe21/actions-preview.nvim", - event = "LspAttach", - opts = { - telescope = { - sorting_strategy = "ascending", - layout_strategy = "vertical", - layout_config = { - width = 0.8, - height = 0.9, - prompt_position = "top", - preview_cutoff = 20, - preview_height = function(_, _, max_lines) - return max_lines - 15 - end, - }, - }, - }, - keys = { - { - "ca", - function() - require("actions-preview").code_actions() - end, - mode = { "n", "v" }, - desc = "Code Action Preview", - }, - }, - }, { "smjonas/inc-rename.nvim", cmd = "IncRename", opts = {}, }, - { - "dnlhc/glance.nvim", - cmd = { "Glance" }, - opts = { - border = { - enable = true, - }, - }, - keys = { - { "gd", "Glance definitions", desc = "Goto Definition" }, - { "gr", "Glance references", desc = "References" }, - { "gy", "Glance type_definitions", desc = "Goto t[y]pe definitions" }, - { "gI", "Glance implementations", desc = "Goto implementations" }, - }, - }, + { "simrat39/rust-tools.nvim", opts = function(_, opts) opts.tools = { inlay_hints = { - auto = false, + auto = function() + if vim.fn.has("nvim-0.10") == 1 then + return false + else + return true + end + end, }, } end,