From bedd7fc3c9b431ff5c896318b8c70338e7e9a184 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 4 Oct 2025 20:35:50 -0500 Subject: [PATCH] plugins/roslyn: init module https://github.com/seblyng/roslyn.nvim --- plugins/by-name/roslyn/default.nix | 28 +++++++++++++++++++ .../plugins/by-name/roslyn/default.nix | 27 ++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 plugins/by-name/roslyn/default.nix create mode 100644 tests/test-sources/plugins/by-name/roslyn/default.nix diff --git a/plugins/by-name/roslyn/default.nix b/plugins/by-name/roslyn/default.nix new file mode 100644 index 00000000..4f8e34d6 --- /dev/null +++ b/plugins/by-name/roslyn/default.nix @@ -0,0 +1,28 @@ +{ config, lib, ... }: +lib.nixvim.plugins.mkNeovimPlugin { + name = "roslyn"; + package = "roslyn-nvim"; + + dependencies = [ + "roslyn_ls" + ]; + + maintainers = [ lib.maintainers.khaneliman ]; + + extraConfig = { + warnings = lib.nixvim.mkWarnings "plugins.roslyn" { + when = config.lsp.servers.roslyn_ls.enable; + + message = '' + You have enabled both `lsp.servers.roslyn_ls` and `plugins.roslyn`. + This causes duplicate lsps to attach to the buffer. It is recommended to disable one. + ''; + }; + }; + + settingsExample = { + broad_search = true; + lock_target = true; + silent = true; + }; +} diff --git a/tests/test-sources/plugins/by-name/roslyn/default.nix b/tests/test-sources/plugins/by-name/roslyn/default.nix new file mode 100644 index 00000000..36fb3b4f --- /dev/null +++ b/tests/test-sources/plugins/by-name/roslyn/default.nix @@ -0,0 +1,27 @@ +{ + empty = { + # TODO: 2025-10-03 + # Transient dependency `vmr` has a build failure + # https://github.com/NixOS/nixpkgs/issues/431811 + dependencies.roslyn_ls.enable = false; + plugins.roslyn.enable = true; + }; + + defaults = { + # TODO: 2025-10-03 + # Transient dependency `vmr` has a build failure + # https://github.com/NixOS/nixpkgs/issues/431811 + dependencies.roslyn_ls.enable = false; + plugins.roslyn = { + enable = true; + settings = { + filewatching = "auto"; + choose_target = null; + ignore_target = null; + broad_search = false; + lock_target = false; + silent = false; + }; + }; + }; +}