diff --git a/modules/plugins/languages/vala.nix b/modules/plugins/languages/vala.nix index 58955fa7..a708c191 100644 --- a/modules/plugins/languages/vala.nix +++ b/modules/plugins/languages/vala.nix @@ -7,11 +7,10 @@ inherit (builtins) attrNames; inherit (lib.options) mkEnableOption mkOption; inherit (lib.meta) getExe; - inherit (lib.nvim.languages) diagnosticsToLua; inherit (lib.modules) mkIf mkMerge; inherit (lib.lists) isList; inherit (lib.types) enum either listOf package str; - inherit (lib.nvim.types) mkGrammarOption diagnostics; + inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.lua) expToLua; cfg = config.vim.languages.vala; @@ -19,8 +18,10 @@ defaultServer = "vala_ls"; servers = { vala_ls = { - package = pkgs.vala-language-server; - runtimeInputs = pkgs.uncrustify; + package = pkgs.writeShellScriptBin "vala-language-server-wrapper" '' + export PATH="${lib.makeBinPath [pkgs.uncrustify]}:$PATH" + exec ${pkgs.vala-language-server}/bin/vala-language-server "$@" + ''; internalFormatter = true; lspConfig = '' lspconfig.vala_ls.setup { @@ -29,27 +30,12 @@ cmd = ${ if isList cfg.lsp.package then expToLua cfg.lsp.package - else ''{"${cfg.lsp.package}/bin/vala-language-server"}'' + else ''{"${cfg.lsp.package}/bin/vala-language-server-wrapper"}'' }, } ''; }; }; - - defaultDiagnosticsProvider = ["vala-lint"]; - diagnosticsProviders = { - vala-lint = { - package = pkgs.vala-lint; - nullConfig = pkg: '' - table.insert( - ls_sources, - null_ls.builtins.diagnostics.vala_lint.with({ - command = "${getExe pkg}", - }) - ) - ''; - }; - }; in { options.vim.languages.vala = { enable = mkEnableOption "Vala language support"; @@ -74,15 +60,6 @@ in { default = servers.${cfg.lsp.server}.package; }; }; - - extraDiagnostics = { - enable = mkEnableOption "extra Vala diagnostics" // {default = config.vim.languages.enableExtraDiagnostics;}; - types = diagnostics { - langDesc = "Vala"; - inherit diagnosticsProviders; - inherit defaultDiagnosticsProvider; - }; - }; }; config = mkIf cfg.enable (mkMerge [ @@ -91,15 +68,6 @@ in { vim.treesitter.grammars = [cfg.treesitter.package]; }) - (mkIf cfg.extraDiagnostics.enable { - vim.lsp.null-ls.enable = true; - vim.lsp.null-ls.sources = diagnosticsToLua { - lang = "Vala"; - config = cfg.extraDiagnostics.types; - inherit diagnosticsProviders; - }; - }) - (mkIf cfg.lsp.enable { vim.lsp.lspconfig.enable = true; vim.lsp.lspconfig.sources.vala_ls = servers.${cfg.lsp.server}.lspConfig;