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