Compare commits

...

3 commits

Author SHA1 Message Date
QuiNzX
da7961f09b revert: python isMaximal 2025-01-23 18:53:29 +01:00
QuiNzX
507ac8e181 change: use toList instead of if-else statements 2025-01-23 18:51:37 +01:00
QuiNzX
81d489d8e1 change: handle both single and multiple servers 2025-01-23 18:24:50 +01:00

View file

@ -14,7 +14,7 @@
cfg = config.vim.languages.python;
defaultServer = ["basedpyright"];
defaultServer = "basedpyright";
servers = {
pyright = {
package = pkgs.pyright;
@ -220,8 +220,8 @@ in {
enable = mkEnableOption "Python LSP support" // {default = config.vim.languages.enableLSP;};
server = mkOption {
description = "Python LSP server to use";
type = listOf (enum (attrNames servers));
description = "Python LSP server to use either as a single server or a list of servers";
type = either (enum (attrNames servers)) (listOf (enum (attrNames servers)));
default = defaultServer;
};
@ -229,7 +229,7 @@ in {
description = "python LSP server package, or the command to run as a list of strings";
example = ''[lib.getExe pkgs.jdt-language-server "-data" "~/.cache/jdtls/workspace"]'';
type = lib.types.attrsOf (either package (listOf str));
default = lib.genAttrs cfg.lsp.server (name: servers.${name}.package);
default = lib.genAttrs (lib.toList cfg.lsp.server) (name: servers.${name}.package);
};
};
@ -283,10 +283,7 @@ in {
(mkIf cfg.lsp.enable {
vim.lsp.lspconfig.enable = true;
vim.lsp.lspconfig.sources =
lib.genAttrs
cfg.lsp.server
(name: servers.${name}.lspConfig);
vim.lsp.lspconfig.sources = lib.genAttrs (lib.toList cfg.lsp.server) (name: servers.${name}.lspConfig);
})
(mkIf cfg.format.enable {