44 lines
1020 B
Lua
44 lines
1020 B
Lua
|
|
function show_diagnostic()
|
||
|
|
for _, winid in pairs(vim.api.nvim_tabpage_list_wins(0)) do
|
||
|
|
if vim.api.nvim_win_get_config(winid).zindex then
|
||
|
|
return
|
||
|
|
end
|
||
|
|
end
|
||
|
|
-- THIS IS FOR BUILTIN LSP
|
||
|
|
vim.diagnostic.open_float(0, {
|
||
|
|
scope = "cursor",
|
||
|
|
focusable = false,
|
||
|
|
close_events = {
|
||
|
|
"CursorMoved",
|
||
|
|
"CursorMovedI",
|
||
|
|
"BufHidden",
|
||
|
|
"InsertCharPre",
|
||
|
|
"WinLeave",
|
||
|
|
},
|
||
|
|
})
|
||
|
|
end
|
||
|
|
|
||
|
|
vim.api.nvim_create_autocmd("LspAttach", {
|
||
|
|
group = vim.api.nvim_create_augroup("lsp", { clear = true }),
|
||
|
|
callback = function (args)
|
||
|
|
vim.api.nvim_create_autocmd("BufWritePre", {
|
||
|
|
buffer = args.buf,
|
||
|
|
callback = function ()
|
||
|
|
vim.lsp.buf.format { async = false, id = args.data.client_id }
|
||
|
|
end,
|
||
|
|
})
|
||
|
|
|
||
|
|
vim.api.nvim_create_autocmd("CursorHold", {
|
||
|
|
pattern = '*',
|
||
|
|
callback = show_diagnostic
|
||
|
|
})
|
||
|
|
end
|
||
|
|
})
|
||
|
|
|
||
|
|
vim.lsp.enable('clangd')
|
||
|
|
|
||
|
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||
|
|
vim.lsp.config('clangd', {
|
||
|
|
capabilities = capabilities
|
||
|
|
})
|