From 9eb060dde2dcd99219f3c2cfb068d7316590dbb9 Mon Sep 17 00:00:00 2001 From: Cool-Game-Dev Date: Wed, 13 Aug 2025 09:03:09 -0500 Subject: [PATCH] languages/csharp: Replace root_markers with root_dir Replace the root_markers with root_dir in roslyn_ls and omnisharp --- modules/plugins/languages/csharp.nix | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/modules/plugins/languages/csharp.nix b/modules/plugins/languages/csharp.nix index 0740a779..9e13a5ef 100644 --- a/modules/plugins/languages/csharp.nix +++ b/modules/plugins/languages/csharp.nix @@ -43,7 +43,18 @@ } ''; filetypes = ["cs" "vb"]; - root_markers = [".sln" ".csproj" "omnisharp.json" "function.json"]; + root_dir = mkLuaInline '' + function(bufnr, on_dir) + local function find_root_pattern(fname, lua_pattern) + return vim.fs.root(0, function(name, path) + return name:match(lua_pattern) + end) + end + + local fname = vim.api.nvim_buf_get_name(bufnr) + on_dir(find_root_pattern(fname, "%.sln$") or find_root_pattern(fname, "%.csproj$")) + end + ''; init_options = {}; capabilities = { workspace = { @@ -138,7 +149,18 @@ ''; filetypes = ["cs"]; - root_markers = [".sln" ".csproj" ".editorconfig"]; + root_dir = mkLuaInline '' + function(bufnr, on_dir) + local function find_root_pattern(fname, lua_pattern) + return vim.fs.root(0, function(name, path) + return name:match(lua_pattern) + end) + end + + local fname = vim.api.nvim_buf_get_name(bufnr) + on_dir(find_root_pattern(fname, "%.sln$") or find_root_pattern(fname, "%.csproj$")) + end + ''; init_options = {}; }; };