46 lines
1.2 KiB
Lua
46 lines
1.2 KiB
Lua
local status, lspc = pcall(require, 'lspconfig')
|
|
if (not status) then return end
|
|
|
|
lspc.clangd.setup{}
|
|
|
|
local buf_map = function(bufnr, mode, lhs, rhs, opts)
|
|
vim.api.nvim_buf_set_keymap(bufnr, mode, lhs, rhs, opts or {
|
|
silent = true,
|
|
})
|
|
end
|
|
|
|
local protocol = require('vim.lsp.protocol')
|
|
|
|
local on_attach = function(client, buffnr)
|
|
if client.server.capabilities.documentFormattingProvider then
|
|
vimapi.nvim_create_autocmd("BufWritePre", {
|
|
group = vim.api.nvim_create_augroup("format", { clear = true }),
|
|
buffer = buffnr,
|
|
callback = function() vim.lsp.buf.formatting_seq_sync() end
|
|
})
|
|
end
|
|
end
|
|
|
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
|
capabilities.textDocument.completion.completionItem.snippetSupport = true
|
|
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
|
|
|
local servers = { 'ts_ls', 'lua', 'cssls', 'yamlls', 'intelephense' }
|
|
for _, lsp in pairs(servers) do
|
|
require('lspconfig')[lsp].setup {
|
|
-- on_attach = on_attach,
|
|
capabilities = capabilities,
|
|
}
|
|
end
|
|
|
|
lspc.yamlls.setup({
|
|
settings = {
|
|
yaml = {
|
|
keyOrdering = false,
|
|
},
|
|
},
|
|
});
|
|
|
|
|
|
-- lspc.intelephense.setup()
|