From d47d7c75421a452633553e6462058198fa869587 Mon Sep 17 00:00:00 2001 From: dish Date: Fri, 23 Jan 2026 19:17:31 -0500 Subject: [PATCH 1/2] languages/python: support zuban language server https://zubanls.com/ --- docs/manual/release-notes/rl-0.9.md | 3 ++- modules/plugins/languages/python.nix | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index c38d2421..20aa1f84 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -132,7 +132,8 @@ - Added [sqruff](https://github.com/quarylabs/sqruff) support to `languages.sql` -- Added [Pyrefly](https://pyrefly.org/) support to `languages.python` +- Added [Pyrefly](https://pyrefly.org/) and [zuban](https://zubanls.com/) + support to `languages.python` - Added TOML support via {option}`languages.toml` and the [Tombi](https://tombi-toml.github.io/tombi/) language server, linter, and diff --git a/modules/plugins/languages/python.nix b/modules/plugins/languages/python.nix index 0fffbbcc..04d2554f 100644 --- a/modules/plugins/languages/python.nix +++ b/modules/plugins/languages/python.nix @@ -169,6 +169,22 @@ ".git" ]; }; + + zuban = { + enable = true; + cmd = [(getExe pkgs.zuban) "server"]; + filetypes = ["python"]; + root_markers = [ + "pyproject.toml" + "setup.py" + "setup.cfg" + "requirements.txt" + "Pipfile" + ".git" + "mypy.ini" + ".mypy.ini" + ]; + }; }; defaultFormat = ["black"]; From 1f8d994e07b669f5bf0a57b58668a66a2c0a6eef Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 24 Jan 2026 09:48:45 +0100 Subject: [PATCH 2/2] language/lua: add `selene` for more diagnostics --- docs/manual/release-notes/rl-0.9.md | 5 +++++ modules/plugins/languages/lua.nix | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index c38d2421..085a2b47 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -144,3 +144,8 @@ [Machshev](https://github.com/machshev): - Added `ruff` and `ty` LSP support for Python under `programs.python`. + +[Snoweuph](https://github.com/snoweuph) + +- Added [Selenen](https://github.com/kampfkarren/selene) for more diagnostics in + `languages.lua`. diff --git a/modules/plugins/languages/lua.nix b/modules/plugins/languages/lua.nix index 276c9a6a..564fcece 100644 --- a/modules/plugins/languages/lua.nix +++ b/modules/plugins/languages/lua.nix @@ -9,7 +9,7 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.types) bool enum listOf; - inherit (lib.nvim.types) diagnostics mkGrammarOption deprecatedSingleOrListOf; + inherit (lib.nvim.types) diagnostics mkGrammarOption; inherit (lib.nvim.dag) entryBefore; inherit (lib.nvim.attrsets) mapListToAttrs; @@ -46,6 +46,9 @@ luacheck = { package = pkgs.luajitPackages.luacheck; }; + selene = { + package = pkgs.selene; + }; }; in { imports = [ @@ -79,7 +82,7 @@ in { description = "Enable Lua formatting"; }; type = mkOption { - type = deprecatedSingleOrListOf "vim.language.lua.format.type" (enum (attrNames formats)); + type = listOf (enum (attrNames formats)); default = defaultFormat; description = "Lua formatter to use"; };