From ae2b9bd445ebe5d5342172c66ecbf60028070d32 Mon Sep 17 00:00:00 2001 From: mitchmindtree Date: Sun, 15 Sep 2024 10:56:08 +1000 Subject: [PATCH] plugins/idris2: init Adds the `idris2` neovim plugin. Also changes `idris2-lsp` to enable this new `idris2` plugin when enabled, as it's required for `idris2-lsp` to work at all. --- plugins/by-name/idris2/default.nix | 11 +++++++++++ plugins/lsp/language-servers/default.nix | 10 +++++++++- tests/test-sources/plugins/by-name/idris2/default.nix | 5 +++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 plugins/by-name/idris2/default.nix create mode 100644 tests/test-sources/plugins/by-name/idris2/default.nix diff --git a/plugins/by-name/idris2/default.nix b/plugins/by-name/idris2/default.nix new file mode 100644 index 00000000..3a529366 --- /dev/null +++ b/plugins/by-name/idris2/default.nix @@ -0,0 +1,11 @@ +{ + helpers, + lib, + ... +}: +helpers.neovim-plugin.mkNeovimPlugin { + name = "idris2"; + originalName = "idris2"; + package = "idris2-nvim"; + maintainers = [ lib.maintainers.mitchmindtree ]; +} diff --git a/plugins/lsp/language-servers/default.nix b/plugins/lsp/language-servers/default.nix index 55f22f8b..33f2956a 100644 --- a/plugins/lsp/language-servers/default.nix +++ b/plugins/lsp/language-servers/default.nix @@ -256,12 +256,20 @@ let } { name = "idris2-lsp"; - description = "Idris 2 Language Server"; + description = '' + Idris 2 Language Server. + Enabling this also enables the required `idris2` plugin. + ''; serverName = "idris2_lsp"; package = [ "idris2Packages" "idris2Lsp" ]; + extraConfig = + cfg: + mkIf cfg.enable { + plugins.idris2.enable = lib.mkDefault true; + }; } { name = "intelephense"; diff --git a/tests/test-sources/plugins/by-name/idris2/default.nix b/tests/test-sources/plugins/by-name/idris2/default.nix new file mode 100644 index 00000000..7de4770d --- /dev/null +++ b/tests/test-sources/plugins/by-name/idris2/default.nix @@ -0,0 +1,5 @@ +{ + empty = { + plugins.idris2.enable = true; + }; +}