From 2630ecdd28e670d208d6f303165a053f3bc01853 Mon Sep 17 00:00:00 2001 From: Justin Wood Date: Tue, 11 Jun 2024 14:19:14 -0400 Subject: [PATCH] Choose Elixir Language Server There are multiple language servers in the Elixir ecosystem. This will allow the user to select which they want to use, with the option of using more than one. --- src/modules/languages/elixir.nix | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/modules/languages/elixir.nix b/src/modules/languages/elixir.nix index fab8890f5..ce85d03e2 100644 --- a/src/modules/languages/elixir.nix +++ b/src/modules/languages/elixir.nix @@ -13,13 +13,34 @@ in default = pkgs.elixir; defaultText = lib.literalExpression "pkgs.elixir"; }; + + languageServer = { + elixir_ls = lib.mkOption { + type = lib.types.bool; + default = true; + defaultText = "true"; + description = '' + Enable the ElixirLS language server (https://github.com/elixir-lsp/elixir-ls). + ''; + }; + + lexical = lib.mkOption { + type = lib.types.bool; + default = true; + defaultText = "true"; + description = '' + Enable the Lexical language server (https://github.com/lexical-lsp/lexical). + ''; + }; + }; }; config = lib.mkIf cfg.enable { packages = with pkgs; [ cfg.package - elixir_ls - ]; + ] + ++ lib.optional cfg.languageServer.elixir_ls elixir-ls + ++ lib.optional cfg.languageServer.lexical lexical; }; }