fix: resolve all remaining LuaLS diagnostics

This commit is contained in:
Lewis Russell
2025-01-24 13:01:25 +00:00
committed by Lewis Russell
parent 83479b95ab
commit 6aa42e8f92
41 changed files with 177 additions and 104 deletions

View File

@@ -904,18 +904,20 @@ end
function Client:_get_registration(method, bufnr)
bufnr = vim._resolve_bufnr(bufnr)
for _, reg in ipairs(self.registrations[method] or {}) do
if not reg.registerOptions or not reg.registerOptions.documentSelector then
local regoptions = reg.registerOptions --[[@as {documentSelector:lsp.TextDocumentFilter[]}]]
if not regoptions or not regoptions.documentSelector then
return reg
end
local documentSelector = reg.registerOptions.documentSelector
local documentSelector = regoptions.documentSelector
local language = self:_get_language_id(bufnr)
local uri = vim.uri_from_bufnr(bufnr)
local fname = vim.uri_to_fname(uri)
for _, filter in ipairs(documentSelector) do
local flang, fscheme, fpat = filter.language, filter.scheme, filter.pattern
if
not (filter.language and language ~= filter.language)
and not (filter.scheme and not vim.startswith(uri, filter.scheme .. ':'))
and not (filter.pattern and not vim.glob.to_lpeg(filter.pattern):match(fname))
not (flang and language ~= flang)
and not (fscheme and not vim.startswith(uri, fscheme .. ':'))
and not (type(fpat) == 'string' and not vim.glob.to_lpeg(fpat):match(fname))
then
return reg
end