diff options
| author | Async10 <83778583+Async10@users.noreply.github.com> | 2026-01-28 11:39:58 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-28 05:39:58 -0500 |
| commit | 1ab3e96bb5cd6b27a2a013d6090b0f095d5ea306 (patch) | |
| tree | 3b37ed3ec9874159e2f8757e00928137b1c9b3bb | |
| parent | docs: update configs.md (diff) | |
| download | nvim-lspconfig-1ab3e96bb5cd6b27a2a013d6090b0f095d5ea306.tar nvim-lspconfig-1ab3e96bb5cd6b27a2a013d6090b0f095d5ea306.tar.gz nvim-lspconfig-1ab3e96bb5cd6b27a2a013d6090b0f095d5ea306.tar.bz2 nvim-lspconfig-1ab3e96bb5cd6b27a2a013d6090b0f095d5ea306.tar.lz nvim-lspconfig-1ab3e96bb5cd6b27a2a013d6090b0f095d5ea306.tar.xz nvim-lspconfig-1ab3e96bb5cd6b27a2a013d6090b0f095d5ea306.tar.zst nvim-lspconfig-1ab3e96bb5cd6b27a2a013d6090b0f095d5ea306.zip | |
fix(roslyn_ls): platform-agnostic check for "decompiled" file #4296
Co-authored-by: Daniel Schmitt <d.schmitt@lansoftware.de>
| -rw-r--r-- | lsp/roslyn_ls.lua | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lsp/roslyn_ls.lua b/lsp/roslyn_ls.lua index 6bc9cad1..aba8dece 100644 --- a/lsp/roslyn_ls.lua +++ b/lsp/roslyn_ls.lua @@ -98,6 +98,16 @@ local function roslyn_handlers() } end +---@param bufname string +---@return boolean +local function is_decompiled(bufname) + local _, endpos = bufname:find('[/\\]MetadataAsSource[/\\]') + if endpos == nil then + return false + end + return vim.fn.finddir(bufname:sub(1, endpos), vim.env.TMP or vim.env.TEMP) ~= '' +end + ---@type vim.lsp.Config return { name = 'roslyn_ls', @@ -143,7 +153,7 @@ return { local bufname = vim.api.nvim_buf_get_name(bufnr) -- don't try to find sln or csproj for files from libraries -- outside of the project - if not bufname:match('^' .. fs.joinpath('/tmp/MetadataAsSource/')) then + if not is_decompiled(bufname) then -- try find solutions root first local root_dir = fs.root(bufnr, function(fname, _) return fname:match('%.sln[x]?$') ~= nil |
