diff --git a/.editorconfig b/.editorconfig index f316f5ab..1f39b72e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -13,7 +13,6 @@ trim_trailing_whitespace = true indent_style = space indent_size = 2 trim_trailing_whitespace = false -max_line_length = 80 [*.{js,json,nix,yml,yaml,toml}] indent_style = space diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 680572fd..704a8f7c 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 @@ -150,5 +151,12 @@ [fish-lsp]: https://www.fish-lsp.dev/ [fish_indent]: https://fishshell.com/docs/current/cmds/fish_indent.html -- Add Fish support via {option}`languages.fish` using [fish-lsp] and +- Added Fish support via {option}`languages.fish` using [fish-lsp] and [fish_indent]. + +[Snoweuph](https://github.com/snoweuph) + +- Added [Selenen](https://github.com/kampfkarren/selene) for more diagnostics in + `languages.lua`. + + diff --git a/lib/lua.nix b/lib/lua.nix index bf879031..01c73612 100644 --- a/lib/lua.nix +++ b/lib/lua.nix @@ -49,4 +49,4 @@ in "expToLua" "listToLuaTable" "attrsetToLuaTable" - ] (name: lib.warn "${name} is deprecated use toLuaObject instead" toLuaObject) + ] (name: builtins.throw "${name} is deprecated use toLuaObject instead") 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"; }; 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"]; diff --git a/modules/plugins/languages/rust.nix b/modules/plugins/languages/rust.nix index 3c49d271..015b2956 100644 --- a/modules/plugins/languages/rust.nix +++ b/modules/plugins/languages/rust.nix @@ -11,7 +11,7 @@ inherit (lib.lists) isList; inherit (lib.attrsets) attrNames; inherit (lib.types) bool package str listOf either enum int; - inherit (lib.nvim.lua) expToLua toLuaObject; + inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption deprecatedSingleOrListOf; inherit (lib.nvim.dag) entryAfter entryAnywhere; @@ -169,7 +169,7 @@ in { server = { cmd = ${ if isList cfg.lsp.package - then expToLua cfg.lsp.package + then toLuaObject cfg.lsp.package else ''{"${cfg.lsp.package}/bin/rust-analyzer"}'' }, default_settings = {