From 98006874b86dca3e69e167de58d7474add82e685 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 7 Apr 2025 16:05:06 +0200 Subject: [PATCH] nvim: Nicer diagnostics --- flake.lock | 42 +++++++++++++++++++-------------------- home/common/nvim/init.lua | 15 ++++++++++---- home/dln/desktop.nix | 1 + 3 files changed, 33 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index 85c2258..b07d989 100644 --- a/flake.lock +++ b/flake.lock @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1744008831, - "narHash": "sha256-g3mHJLB8ShKuMaBBZxiGuoftJ22f7Boegiw5xBUnS8E=", + "lastModified": 1744400600, + "narHash": "sha256-qYhUgA98mhq1QK13r9qVY+sG1ri6FBgyp+GApX6wS20=", "owner": "nix-community", "repo": "home-manager", - "rev": "f463902a3f03e15af658e48bcc60b39188ddf734", + "rev": "b74b22bb6167e8dff083ec6988c98798bf8954d3", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744003175, - "narHash": "sha256-b0b/qxiqf2G2/UrmcyP9aYr0Ni5NpdCY6GEF8KgnmCU=", + "lastModified": 1744447706, + "narHash": "sha256-8bkAMTy5A6IEEBrr8fGyBrpRNvHMBttsjmTS3IHO/3w=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "f7f5a474c38e3e41827b067f741e12ecbbe5cf18", + "rev": "8479d0e1c0b9274c25001432169c0056633bf63a", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1743931206, - "narHash": "sha256-Dl6kHmsN6AZBWEgEbQGpKYy+qvg+oPbBrK/CFQsWmZM=", + "lastModified": 1744372015, + "narHash": "sha256-Aith8tgE4jRYDpFa9JqPsA4beTimLmqgwl6PLNlJHyU=", "owner": "neovim", "repo": "neovim", - "rev": "2d11b981bfbb7816d88a69b43b758f3a3f515b96", + "rev": "4a706a70928231643e1a3f3fcf785de7aa930f8b", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1743814133, - "narHash": "sha256-drDyYyUmjeYGiHmwB9eOPTQRjmrq3Yz26knwmMPLZFk=", + "lastModified": 1744316434, + "narHash": "sha256-lzFCg/1C39pyY2hMB2gcuHV79ozpOz/Vu15hdjiFOfI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "250b695f41e0e2f5afbf15c6b12480de1fe0001b", + "rev": "d19cf9dfc633816a437204555afeb9e722386b76", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1743813633, - "narHash": "sha256-BgkBz4NpV6Kg8XF7cmHDHRVGZYnKbvG0Y4p+jElwxaM=", + "lastModified": 1744309437, + "narHash": "sha256-QZnNHM823am8apCqKSPdtnzPGTy2ZB4zIXOVoBp5+W0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7819a0d29d1dd2bc331bec4b327f0776359b1fa6", + "rev": "f9ebe33a928b5d529c895202263a5ce46bdf12f7", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1743938762, - "narHash": "sha256-UgFYn8sGv9B8PoFpUfCa43CjMZBl1x/ShQhRDHBFQdI=", + "lastModified": 1744347518, + "narHash": "sha256-4Y0ByuP4NEz2Zyso9Ozob8yR6kKuaunJ5OARv+tFLPI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "74a40410369a1c35ee09b8a1abee6f4acbedc059", + "rev": "642c54c23609fefb5708b0e2be261446c59138f6", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1743827369, - "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", + "lastModified": 1744232761, + "narHash": "sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "42a1c966be226125b48c384171c44c651c236c22", + "rev": "f675531bc7e6657c10a18b565cfebd8aa9e24c14", "type": "github" }, "original": { diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index cae84e0..2e21cbf 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -93,6 +93,7 @@ vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } -- Diagnostics vim.diagnostic.config { + float = { border = "rounded" }, severity_sort = true, signs = { linehl = { @@ -114,11 +115,12 @@ vim.diagnostic.config { [vim.diagnostic.severity.HINT] = "", }, }, - virtual_lines = { current_line = true }, + virtual_lines = false, } vim.keymap.set('n', '<Space>ud', function() if vim.diagnostic.config().virtual_lines == true then - vim.diagnostic.config({ virtual_lines = { current_line = true } }) + -- vim.diagnostic.config({ virtual_lines = { current_line = true } }) + vim.diagnostic.config({ virtual_lines = false }) else vim.diagnostic.config({ virtual_lines = true }) end @@ -176,8 +178,13 @@ end, opts("Format Buffer")) vim.keymap.set('n', '<Leader><Leader>', "<cmd>Pick visit_paths cwd=''<cr>", opts("Visits")) vim.keymap.set('n', '<Leader>b', "<cmd>Pick buffers<cr>", opts("Open buffer picker")) vim.keymap.set('n', '<Leader>/', "<cmd>Pick grep_live_root<cr>", opts("Search workspace files")) -vim.keymap.set('n', '<Leader>d', "<cmd>Pick diagnostic<cr>", opts("Open diagnostics picker")) -vim.keymap.set("n", "<Leader>D", vim.diagnostic.setloclist, { desc = "Diagnostics to location list" }) +vim.keymap.set('n', '<Leader>d', vim.diagnostic.open_float, opts("Show diagnostics for line")) +vim.keymap.set('n', '<m-d>', vim.diagnostic.open_float, opts("Show diagnostics for line")) +vim.keymap.set('n', '<Leader>D', function() + local width = vim.o.columns - 8 + MiniExtra.pickers.diagnostic({ scope = "current" }, { window = { config = { width = width } } }) +end, opts("Open diagnostics picker")) + vim.keymap.set("n", "<Leader>r", vim.lsp.buf.rename, opts("Rename Symbol")) vim.keymap.set('n', '<Leader>F', "<cmd>Pick files<cr>", opts("Open file picker CWD")) vim.keymap.set('n', '<Leader>f', "<cmd>Pick files_root<cr>", opts("Open file picker")) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 78177b4..e6f9326 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -16,6 +16,7 @@ pavucontrol plexamp signal-desktop + spotify ]; xdg.desktopEntries = {