From c2a279b33426d086e514bbcc1a0c2da95f3a7528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Schr=C3=B6ter?= Date: Wed, 25 Jan 2023 21:39:12 +0100 Subject: [PATCH] feat(editors): improve omnisharp root location Some of my projects have multiple .sln files, where I'd like to prefer the .sln in the project root directory. --- home/editors/neovim/lsp/lsp.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/home/editors/neovim/lsp/lsp.lua b/home/editors/neovim/lsp/lsp.lua index 1d86cc4..a39c471 100644 --- a/home/editors/neovim/lsp/lsp.lua +++ b/home/editors/neovim/lsp/lsp.lua @@ -89,6 +89,11 @@ config.rust_analyzer.setup { config.omnisharp.setup { on_attach = on_attach, capabilities = capabilities, + root_dir = function(f) + local git_root = config.util.root_pattern(".git")(f) + local git_root_sln = config.util.root_pattern("*.sln")(git_root) + return git_root_sln or config.util.root_pattern("*.sln", "*.csproj")(f) + end, cmd = { "OmniSharp", "--languageserver", "--hostPID", tostring(pid) }, }