aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAsync10 <83778583+Async10@users.noreply.github.com>2026-01-28 11:39:58 +0100
committerGitHub <noreply@github.com>2026-01-28 05:39:58 -0500
commit1ab3e96bb5cd6b27a2a013d6090b0f095d5ea306 (patch)
tree3b37ed3ec9874159e2f8757e00928137b1c9b3bb
parentdocs: update configs.md (diff)
downloadnvim-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.lua12
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