refactor: address emmylua diagnostics
This commit is contained in:
@@ -15,7 +15,8 @@ function RefreshTask.new(session)
|
||||
session = session,
|
||||
aborted = false,
|
||||
cancels = {},
|
||||
}, RefreshTask)
|
||||
},
|
||||
RefreshTask)
|
||||
end
|
||||
|
||||
---@param cancel fun()
|
||||
@@ -35,20 +36,19 @@ end
|
||||
---@param lens lsp.CodeLens
|
||||
---@param row ow.lsp.codelens.Row
|
||||
function RefreshTask:resolve(client, lens, row)
|
||||
local method = vim.lsp.protocol.Methods.codeLens_resolve
|
||||
local _, req_id = client:request(
|
||||
method,
|
||||
"codeLens/resolve",
|
||||
lens,
|
||||
---@param err lsp.ResponseError?
|
||||
---@param resolved lsp.CodeLens?
|
||||
function(err, resolved)
|
||||
---@param ctx lsp.HandlerContext
|
||||
function(err, resolved, ctx)
|
||||
if self.aborted then
|
||||
return
|
||||
end
|
||||
if err then
|
||||
log.warning(
|
||||
"client %d: %s failed: %s",
|
||||
client.id,
|
||||
method,
|
||||
"client %d: %s failed: %s", client.id, ctx.method,
|
||||
err.message
|
||||
)
|
||||
end
|
||||
@@ -77,33 +77,27 @@ function RefreshTask:process_lens(rows, client, lens)
|
||||
row:add(lens)
|
||||
return
|
||||
end
|
||||
if
|
||||
not client
|
||||
or not client:supports_method(vim.lsp.protocol.Methods.codeLens_resolve)
|
||||
then
|
||||
if not client or not client:supports_method("codeLens/resolve") then
|
||||
return
|
||||
end
|
||||
row:expect()
|
||||
self:resolve(client, lens, row)
|
||||
end
|
||||
|
||||
---@param responses table<integer, ow.lsp.CodeLensResponse>
|
||||
function RefreshTask:process_responses(responses)
|
||||
local method = vim.lsp.protocol.Methods.textDocument_codeLens
|
||||
---@param results table<integer, ow.lsp.CodeLensResponse>
|
||||
function RefreshTask:process_results(results)
|
||||
local session = self.session
|
||||
local new_rows = {}
|
||||
for client_id, response in pairs(responses) do
|
||||
if response.err then
|
||||
for client_id, result in pairs(results) do
|
||||
if result.err then
|
||||
log.warning(
|
||||
"client %d: %s failed: %s",
|
||||
client_id,
|
||||
method,
|
||||
response.err.message
|
||||
"client %d: %s failed: %s", client_id, result.context.method,
|
||||
result.err.message
|
||||
)
|
||||
end
|
||||
if not response.err and type(response.result) == "table" then
|
||||
if not result.err and type(result.result) == "table" then
|
||||
local client = vim.lsp.get_client_by_id(client_id)
|
||||
for _, lens in ipairs(response.result) do
|
||||
for _, lens in ipairs(result.result) do
|
||||
self:process_lens(new_rows, client, lens)
|
||||
end
|
||||
end
|
||||
@@ -113,19 +107,18 @@ function RefreshTask:process_responses(responses)
|
||||
end
|
||||
|
||||
function RefreshTask:run()
|
||||
local method = vim.lsp.protocol.Methods.textDocument_codeLens
|
||||
local params = {
|
||||
textDocument = vim.lsp.util.make_text_document_params(self.session.buf),
|
||||
}
|
||||
local cancel = vim.lsp.buf_request_all(
|
||||
self.session.buf,
|
||||
method,
|
||||
"textDocument/codeLens",
|
||||
params,
|
||||
function(responses)
|
||||
function(results)
|
||||
if self.aborted then
|
||||
return
|
||||
end
|
||||
self:process_responses(responses)
|
||||
self:process_results(results)
|
||||
end
|
||||
)
|
||||
self:track(cancel)
|
||||
|
||||
Reference in New Issue
Block a user