-- Completions -- local cmp = require('cmp') cmp.setup({ completion = { autocomplete = false }, snippet = { expand = function (args) require('snippy').expand_snippet(args.body) end, }, mapping = { [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.abort(), [''] = cmp.mapping.confirm({ select = true }), }, sources = cmp.config.sources({ { name = 'nvim_lsp' }, { name = 'snippy' } }) }) -- LSP -- -- See: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md local lsp = require('lspconfig') local capabilities = require('cmp_nvim_lsp') .update_capabilities(vim.lsp.protocol.make_client_capabilities()) lsp.clangd.setup { filetypes = { 'c', 'cpp', 'cxx' }, capabilities = capabilities } lsp.eslint.setup { capabilities = capabilities } lsp.sumneko_lua.setup { settings = { Lua = { runtime = { version = 'LuaJIT' }, diagnostics = { globals = { 'vim' } }, workspace = { library = vim.api.nvim_get_runtime_file('', true), }, telemetry = { enable = false }, }, }, capabilities = capabilities, }