mirror of https://github.com/ray-x/go.nvim
update lsp setup and document
parent
786a9c67ad
commit
87fcb47470
@ -0,0 +1,46 @@
|
||||
-- hdlr alternatively, use lua vim.lsp.diagnostic.set_loclist({open_loclist = false})
|
||||
-- true to open loclist
|
||||
local diag_hdlr = function(err, method, result, client_id, bufnr, config)
|
||||
-- vim.lsp.diagnostic.clear(vim.fn.bufnr(), client.id, nil, nil)
|
||||
vim.lsp.diagnostic.on_publish_diagnostics(err, method, result, client_id, bufnr, config)
|
||||
if result and result.diagnostics then
|
||||
local item_list = {}
|
||||
local s = result.uri
|
||||
local fname = s
|
||||
for _, v in ipairs(result.diagnostics) do
|
||||
i, j = string.find(s, "file://")
|
||||
if j then
|
||||
fname = string.sub(s, j + 1)
|
||||
end
|
||||
table.insert(item_list, {
|
||||
filename = fname,
|
||||
lnum = v.range.start.line + 1,
|
||||
col = v.range.start.character + 1,
|
||||
text = v.message
|
||||
})
|
||||
end
|
||||
local old_items = vim.fn.getqflist()
|
||||
for _, old_item in ipairs(old_items) do
|
||||
if vim.uri_from_bufnr(old_item.bufnr) ~= result.uri then
|
||||
table.insert(item_list, old_item)
|
||||
end
|
||||
end
|
||||
vim.fn.setqflist({}, ' ', {title = 'LSP', items = item_list})
|
||||
end
|
||||
end
|
||||
|
||||
vim.lsp.handlers["textDocument/publishDiagnostics"] =
|
||||
vim.lsp.with(diag_hdlr, {
|
||||
-- Enable underline, use default values
|
||||
underline = true,
|
||||
-- Enable virtual text, override spacing to 0
|
||||
virtual_text = {
|
||||
spacing = 0,
|
||||
prefix = '' -- '',
|
||||
},
|
||||
-- Use a function to dynamically turn signs off
|
||||
-- and on, using buffer local variables
|
||||
signs = true,
|
||||
-- Disable a feature
|
||||
update_in_insert = false
|
||||
})
|
Loading…
Reference in New Issue