77fc50cbdf568339746dd627f6eed30eee593ef3

Author
TheEdgeOfRage <git@theedgeofrage.com>
Committer
TheEdgeOfRage <git@theedgeofrage.com>
Date

Message

Update nvim config to support 0.11

Diff

  1diff --git a/dot_config/nvim/lua/lsp.lua b/dot_config/nvim/lua/lsp.lua
  2index 6654bd203d9263d2a9015fa921159a4e94f0772a..190ed13da36a7b52eab1d7dff5ea1b9c3cb82958 100644
  3--- a/dot_config/nvim/lua/lsp.lua
  4+++ b/dot_config/nvim/lua/lsp.lua
  5@@ -14,9 +14,13 @@ lsp_zero.on_attach(function(_, bufnr)
  6 	vim.keymap.set("n", "<leader>vc", vim.lsp.buf.code_action, opts)
  7 	vim.keymap.set("n", "<leader>vr", vim.lsp.buf.rename, opts)
  8 	vim.keymap.set("n", "<leader>vh", vim.lsp.buf.hover, opts)
  9-	vim.keymap.set("n", "<leader>en", vim.diagnostic.goto_next, opts)
 10-	vim.keymap.set("n", "<leader>ep", vim.diagnostic.goto_prev, opts)
 11-	vim.keymap.set("n", "<leader>ei", vim.diagnostic.open_float, opts)
 12+	vim.keymap.set("n", "<leader>en", function()
 13+		vim.diagnostic.jump({ count = 1 })
 14+	end, opts)
 15+	vim.keymap.set("n", "<leader>ep", function()
 16+		vim.diagnostic.jump({ count = -1 })
 17+	end, opts)
 18+	-- vim.keymap.set("n", "<leader>ei", vim.diagnostic.open_float, opts)
 19 	vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
 20 
 21 	vim.keymap.set("n", "gr", function()
 22@@ -40,20 +44,22 @@ lsp_zero.on_attach(function(_, bufnr)
 23 	end, opts)
 24 end)
 25 
 26-lsp_zero.format_on_save({
 27-	format_opts = {
 28-		async = true,
 29-		timeout_ms = 10000,
 30+require("conform").setup({
 31+	format_on_save = {
 32+		timeout_ms = 2000,
 33+		lsp_format = "fallback",
 34 	},
 35-	servers = {
 36-		["bashls"] = { "sh" },
 37-		["efm"] = { "javascript", "typescript", "lua" },
 38-		["gopls"] = { "go" },
 39-		["jsonls"] = { "json" },
 40-		["basedpyright"] = { "python" },
 41-		["rust_analyzer"] = { "rust" },
 42-		["terraformls"] = { "terraform" },
 43-		["yamlls"] = { "yaml" },
 44+	formatters_by_ft = {
 45+		lua = { "stylua", "efm" },
 46+		markdown = { "markdownlint" },
 47+		terraform = { "tflint" },
 48+		json = { "jsonlint", "prettierd" },
 49+		javascript = { "efm" },
 50+		typescript = { "efm" },
 51+		svelte = { "prettierd" },
 52+		go = { "golangci_lint_ls", "golangci-lint" },
 53+		html = { "htmlbeautifier", "htmlhint" },
 54+		tmpl = { "htmlbeautifier", "htmlhint" },
 55 	},
 56 })
 57 
 58@@ -70,6 +76,9 @@ lspconfig.golangci_lint_ls.setup({
 59 		".golangci.json",
 60 		".git"
 61 	),
 62+	init_options = {
 63+		command = { "golangci-lint", "run", "--output.json.path=stdout", "--show-stats=false" },
 64+	},
 65 })
 66 lspconfig.gopls.setup({
 67 	settings = {
 68@@ -176,6 +185,9 @@ lspconfig.zls.setup({})
 69 -- Customize keymaps
 70 local cmp = require("cmp")
 71 cmp.setup({
 72+	sources = {
 73+		{ name = "nvim_lsp" },
 74+	},
 75 	mapping = cmp.mapping.preset.insert({
 76 		-- `Enter` key to confirm completion
 77 		["<CR>"] = cmp.mapping.confirm({ select = false }),
 78diff --git a/dot_config/nvim/lua/mappings.lua b/dot_config/nvim/lua/mappings.lua
 79index 6b42e10dce32dd0ddfb87469008d3eb4e1684d99..71e413789119df019219a0dceb939067969792f1 100644
 80--- a/dot_config/nvim/lua/mappings.lua
 81+++ b/dot_config/nvim/lua/mappings.lua
 82@@ -33,11 +33,11 @@ vim.keymap.set("n", "U", vim.cmd.redo, opts)
 83 -- File operation maps
 84 vim.keymap.set("n", "<leader>fd", function()
 85 	if vim.inspect(vim.lsp.get_clients()) then
 86-		vim.lsp.buf.format()
 87+		require("conform").format()
 88 	else
 89 		vim.cmd.normal("jzgg=G`z")
 90 	end
 91-end)
 92+end, opts)
 93 vim.keymap.set("n", "<leader>fs", vim.cmd.w, opts)
 94 vim.keymap.set("n", "<leader>fS", vim.cmd.SudaWrite, opts)
 95 vim.keymap.set("n", "<leader>W", vim.cmd.SudaWrite, opts)
 96@@ -101,3 +101,5 @@ vim.keymap.set("n", "<leader>rg", function()
 97 end, opts)
 98 vim.keymap.set("n", "<leader>fb", telescope.buffers, opts)
 99 vim.keymap.set("n", "<leader>fh", telescope.help_tags, opts)
100+vim.keymap.set("n", "<leader>fp", telescope.builtin, opts)
101+vim.keymap.set("n", "<leader>ei", telescope.diagnostics, opts)
102diff --git a/dot_config/nvim/lua/plugins/lsp.lua b/dot_config/nvim/lua/plugins/lsp.lua
103index 43c6fb6763a06afcfbd9bcd59e86d8d30d0194f8..7afefc5696a13293feeb0b18d1d3bdfb3578ea7a 100644
104--- a/dot_config/nvim/lua/plugins/lsp.lua
105+++ b/dot_config/nvim/lua/plugins/lsp.lua
106@@ -1,8 +1,8 @@
107 return {
108 	{ "williamboman/mason.nvim" },
109 	{ "williamboman/mason-lspconfig.nvim" },
110-
111-	{ "VonHeikemen/lsp-zero.nvim", branch = "v3.x" },
112+	{ "stevearc/conform.nvim" },
113+	{ "VonHeikemen/lsp-zero.nvim", branch = "v4.x" },
114 	{ "neovim/nvim-lspconfig" },
115 	{ "hrsh7th/cmp-nvim-lsp" },
116 	{ "hrsh7th/nvim-cmp" },
117@@ -14,13 +14,12 @@ return {
118 			"ray-x/guihua.lua",
119 			"neovim/nvim-lspconfig",
120 			"nvim-treesitter/nvim-treesitter",
121-			"theHamsta/nvim-dap-virtual-text",
122 		},
123 		config = function()
124 			require("go").setup()
125 		end,
126 		event = { "CmdlineEnter" },
127 		ft = { "go", "gomod" },
128-		build = ":lua require('go.install').update_all_sync()",
129+		build = ':lua require("go.install").update_all_sync()',
130 	},
131 }
132diff --git a/dot_config/nvim/lua/sets.lua b/dot_config/nvim/lua/sets.lua
133index 2a817e292c97e32b84a4dfecafc52b025d1b63c0..a9c30eba7ef7e608f15bbb88a70ee7cc95b05cf7 100644
134--- a/dot_config/nvim/lua/sets.lua
135+++ b/dot_config/nvim/lua/sets.lua
136@@ -36,3 +36,5 @@ vim.opt.mousescroll = "ver:1,hor:1"
137 vim.opt.ignorecase = true
138 vim.opt.smartcase = true
139 vim.opt.shell = "/usr/bin/zsh"
140+
141+vim.diagnostic.config({ virtual_text = true })