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 = { 'tsserver', 'lua', 'cssls', 'yamlls', 'intelephense' } for _, lsp in pairs(servers) do require('lspconfig')[lsp].setup { -- on_attach = on_attach, capabilities = capabilities, } end lsp.yamlls.setup({ settings = { yaml = { keyOrdering = false, }, }, }); lspc.lua.setup({ settings = { Lua = { diagnostics = { globals = { 'vim' } }, workspace = { library = vim.api.nvim_get_runtime_file("", true), checkThirdParty = false }, }, }, }) -- lspc.intelephense.setup()