diff --git a/modules/plugins/languages/html.nix b/modules/plugins/languages/html.nix index 37227918..96dc9472 100644 --- a/modules/plugins/languages/html.nix +++ b/modules/plugins/languages/html.nix @@ -35,22 +35,13 @@ }; }; }; - + defaultDiagnosticsProvider = ["htmlhint"]; diagnosticsProviders = { htmlhint = { - package = pkgs.htmlhint; - nullConfig = pkg: '' - table.insert( - ls_sources, - null_ls.builtins.diagnostics.htmlhint.with({ - command = "${pkg}/bin/htmlhint" - }) - ) - ''; + config.cmd = getExe pkgs.htmlhint; }; }; - in { options.vim.languages.html = { enable = mkEnableOption "HTML language support"; @@ -91,7 +82,7 @@ in { extraDiagnostics = { enable = mkEnableOption "extra HTML diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; - + types = diagnostics { langDesc = "HTML"; inherit diagnosticsProviders; @@ -99,7 +90,7 @@ in { }; }; }; - + config = mkIf cfg.enable (mkMerge [ (mkIf cfg.treesitter.enable { vim = { @@ -117,7 +108,7 @@ in { }) (mkIf cfg.lsp.enable { - vim.lsp.servers = + vim.lsp.servers = mapListToAttrs (n: { name = n; value = servers.${n}; @@ -140,9 +131,9 @@ in { enable = true; linters_by_ft.html = cfg.extraDiagnostics.types; linters = mkMerge (map (name: { - ${name}.cmd = getExe diagnosticsProviders.${name}.package; - }) - cfg.extraDiagnostics.types); + ${name} = diagnosticsProviders.${name}.config; + }) + cfg.extraDiagnostics.types); }; }) ]);