PR should fix #1394. Below is the example in the docs for filtering in the finder. Since it's specified that func should return a bool, I think the func is meant to be called on each element of the result table rather than the result table itself (which itself is just part of the map returned by vim.lsp.buf_request_all(); the reuse of names is confusing). This way, I think it's more like the user can write filters that act on the finder results. Correct me if I'm wrong.
Additionally, fn() in box.filter should also take client_id so that filters are applied properly.
If all looks good, I can clean up comments and/or change the name of result_member variable to something else.
require('lspsaga').setup({
finder = {
filter = {
['textDocument/references'] = function(client_id, result)
-- your logic
return true
end
}
}
})
PR should fix #1394. Below is the example in the docs for filtering in the finder. Since it's specified that func should return a bool, I think the func is meant to be called on each element of the
result
table rather than theresult
table itself (which itself is just part of the map returned byvim.lsp.buf_request_all()
; the reuse of names is confusing). This way, I think it's more like the user can write filters that act on the finder results. Correct me if I'm wrong.Additionally,
fn()
inbox.filter
should also takeclient_id
so that filters are applied properly.If all looks good, I can clean up comments and/or change the name of
result_member
variable to something else.