local capabilities = require('cmp_nvim_lsp').default_capabilities() capabilities.textDocument.completion.completionItem.snippetSupport = false; local lspconfig = require('lspconfig') lspconfig.rust_analyzer.setup { capabilities = capabilities, settings = { ["rust-analyzer"] = { cargo = { allFeatures = true, }, imports = { group = { enable = false, }, }, completion = { postfix = { enable = false, }, }, }, }, } lspconfig.omnisharp.setup { cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll"} } local default_servers = {'pylsp', 'ccls', 'typst_lsp', 'r_language_server', 'lua_ls', 'nil_ls'} for _, lsp in ipairs(default_servers) do lspconfig[lsp].setup { capabilities = capabilities } end local luasnip = require 'luasnip' local cmp = require 'cmp' cmp.setup { preselect = cmp.PreselectMode.None, mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() else fallback() end end, { 'i', 's' }), [''] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_prev_item() else fallback() end end, { 'i', 's' }), }), sources = { { name = 'nvim_lsp' }, { name = 'path' }, }, }