From ab352ba2a96e7a48917a96330e9bd6e3e2a4bf71 Mon Sep 17 00:00:00 2001 From: kyasuda Date: Fri, 2 May 2025 10:14:59 -0700 Subject: [PATCH] update lsp diagnostics to use internal functions --- lazy-lock.json | 18 +++++++++--------- lua/core/options.lua | 12 ++++++++++++ lua/plugins/lsp_lines.lua | 9 --------- lua/plugins/lspconfig.lua | 16 +++++++++++++++- lua/plugins/nvim-lint.lua | 12 +++++++++++- 5 files changed, 47 insertions(+), 20 deletions(-) delete mode 100644 lua/plugins/lsp_lines.lua diff --git a/lazy-lock.json b/lazy-lock.json index 3760742..2afec44 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -2,14 +2,14 @@ "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, "any-jump.vim": { "branch": "master", "commit": "f95674d9a4251ac02f452d5f1861e4422f4652c7" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, - "catppuccin": { "branch": "main", "commit": "5b5e3aef9ad7af84f463d17b5479f06b87d5c429" }, + "catppuccin": { "branch": "main", "commit": "b7bbdf93b42866f166af98d39a2563eedb7cabac" }, "cmp-async-path": { "branch": "main", "commit": "0ed1492f59e730c366d261a5ad822fa37e44c325" }, "cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-nvim-lsp-document-symbol": { "branch": "main", "commit": "f94f7ba948e32cd302caba1c2ca3f7c697fb4fcf" }, "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, - "codecompanion.nvim": { "branch": "main", "commit": "47627b5239143de03b4b7c78f9160099830ab703" }, + "codecompanion.nvim": { "branch": "main", "commit": "3825f3fff7445c5538468f43c9881aaf9cdaa3f1" }, "conform.nvim": { "branch": "master", "commit": "372fc521f8421b7830ea6db4d6ea3bae1c77548c" }, "copilot-cmp": { "branch": "master", "commit": "15fc12af3d0109fa76b60b5cffa1373697e261d1" }, "copilot-lualine": { "branch": "main", "commit": "6bc29ba1fcf8f0f9ba1f0eacec2f178d9be49333" }, @@ -18,7 +18,7 @@ "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "gitsigns.nvim": { "branch": "main", "commit": "ee28ba3e70ecea811b8f6d7b51d81976e94b121c" }, + "gitsigns.nvim": { "branch": "main", "commit": "1796c7cedfe7e5dd20096c5d7b8b753d8f8d22eb" }, "goto-preview": { "branch": "main", "commit": "d1faf6ea992b5bcaaaf2c682e1aba3131a01143e" }, "image.nvim": { "branch": "master", "commit": "4c51d6202628b3b51e368152c053c3fb5c5f76f2" }, "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, @@ -27,30 +27,30 @@ "lsp_lines.nvim": { "branch": "main", "commit": "a92c755f182b89ea91bd8a6a2227208026f27b4d" }, "lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" }, "lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" }, - "mcphub.nvim": { "branch": "main", "commit": "6f1ee64faacd549d48517a7978c335053d8f9cd2" }, + "mcphub.nvim": { "branch": "main", "commit": "f3c4613ecc9a57326e7ab78383db909ec4865ec6" }, "mini.diff": { "branch": "main", "commit": "7e268d0241255abaa07b8aa0ddff028f7315fe21" }, - "mini.nvim": { "branch": "main", "commit": "088d67751584e4168f35bca89bad70ada7ea4636" }, + "mini.nvim": { "branch": "main", "commit": "90ab64f944a5a63a9efebe6735e1f2c6d4db3613" }, "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, - "none-ls.nvim": { "branch": "main", "commit": "78546696d365c4d958351881ff43a8d82ac1ed44" }, + "none-ls.nvim": { "branch": "main", "commit": "a49f5a79cdb76e0dc1a98899c8598f4db014c5e7" }, "nui.nvim": { "branch": "main", "commit": "8d5b0b568517935d3c84f257f272ef004d9f5a59" }, "nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, "nvim-html-css": { "branch": "main", "commit": "23f53cbb8cf4ae7c302ba483ea8a28e5b03713a7" }, "nvim-lint": { "branch": "master", "commit": "9dfb77ef6c5092a19502883c02dc5a02ec648729" }, - "nvim-lspconfig": { "branch": "master", "commit": "94d0fec9135719e046903bbbbf8f39e3d3436d4e" }, + "nvim-lspconfig": { "branch": "master", "commit": "12506bdaccd94964d4fb40367e36ade1960c8947" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, "nvim-notify": { "branch": "master", "commit": "b5825cf9ee881dd8e43309c93374ed5b87b7a896" }, "nvim-tree.lua": { "branch": "master", "commit": "be5b788f2dc1522c73fb7afad9092331c8aebe80" }, "nvim-treesitter": { "branch": "master", "commit": "94ea4f436d2b59c80f02e293466c374584f03b8c" }, "nvim-treesitter-context": { "branch": "master", "commit": "6daca3ad780f045550b820f262002f35175a6c04" }, - "nvim-web-devicons": { "branch": "master", "commit": "50b5b06bff13a9b4eab946de7c7033649a6618a1" }, + "nvim-web-devicons": { "branch": "master", "commit": "2c2b4eafce6cdd0cb165036faa17396eff18f847" }, "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, "odis": { "branch": "master", "commit": "5176a07a729860d0c0cdefe96252fc7ff9e16d43" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, "rainbow-delimiters.nvim": { "branch": "master", "commit": "55ad4fb76ab68460f700599b7449385f0c4e858e" }, - "render-markdown.nvim": { "branch": "main", "commit": "bffe41893d5c4ca9b166f983fa6595d101d81bc6" }, + "render-markdown.nvim": { "branch": "main", "commit": "8c33733b9af902250731539b2fe3920c76993765" }, "telescope-color-names.nvim": { "branch": "main", "commit": "95b372b9a8ba0fc7cf6a67be637ee37453f322da" }, "telescope-file-browser.nvim": { "branch": "master", "commit": "626998e5c1b71c130d8bc6cf7abb6709b98287bb" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, diff --git a/lua/core/options.lua b/lua/core/options.lua index e4ba35b..029b44c 100644 --- a/lua/core/options.lua +++ b/lua/core/options.lua @@ -71,3 +71,15 @@ local border = { -- l.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = border }) -- l.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = border }) o.winborder = "rounded" + +vim.diagnostic.config({ + virtual_text = true, + signs = true, + underline = true, + float = { border = "rounded", source = true }, + severity_sort = true, +}) +vim.keymap.set("", "tl", function() + local current = vim.diagnostic.config().virtual_text + vim.diagnostic.config({ virtual_text = not current }) +end, { desc = "Toggle diagnostics virtual text" }) diff --git a/lua/plugins/lsp_lines.lua b/lua/plugins/lsp_lines.lua deleted file mode 100644 index 521386b..0000000 --- a/lua/plugins/lsp_lines.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - "https://git.sr.ht/~whynothugo/lsp_lines.nvim", - config = function() - -- lsp_lines - vim.diagnostic.config({ virtual_text = false }) - -- -- - vim.keymap.set("", "tl", require("lsp_lines").toggle, { desc = "Toggle lsp_lines" }) - end, -} diff --git a/lua/plugins/lspconfig.lua b/lua/plugins/lspconfig.lua index 1f58018..fd1e3cb 100644 --- a/lua/plugins/lspconfig.lua +++ b/lua/plugins/lspconfig.lua @@ -5,7 +5,8 @@ return { vim.notify = require("notify") local servers = { "bashls", - "jedi_language_server", + -- "jedi_language_server", + "basedpyright", "jsonls", -- "yamlls", "vimls", @@ -75,6 +76,19 @@ return { }, handlers = {}, }) + elseif lsp == "basedpyright" then + vim.lsp.enable(lsp) + vim.lsp.config(lsp, { + analysis = { + autoSearchPaths = true, + diagnosticMode = "openFilesOnly", + useLibraryCodeForTypes = true, + }, + diagnosticMode = "openFilesOnly", + inlayHints = { + callArgumentNames = true, + }, + }) else vim.lsp.enable(lsp) -- vim.lsp.config(lsp, { diff --git a/lua/plugins/nvim-lint.lua b/lua/plugins/nvim-lint.lua index cb35db3..484217d 100644 --- a/lua/plugins/nvim-lint.lua +++ b/lua/plugins/nvim-lint.lua @@ -1,7 +1,8 @@ return { "mfussenegger/nvim-lint", config = function() - require("lint").linters_by_ft = { + local lint = require("lint") + lint.linters_by_ft = { markdown = { "markdownlint" }, lua = { "luacheck" }, py = { "flake8", "pylint", "pydocstyle", "pycodestyle", "mypy" }, @@ -20,5 +21,14 @@ return { "-e", "2250", } + local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true }) + + vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, { + group = lint_augroup, + callback = function() + lint.try_lint() + end, + }) end, + event = { "BufReadPre", "BufNewFile" }, }