-- Setup nvim-cmp. local cmp = require("cmp") cmp.setup({ snippet = { expand = function(args) --vim.fn["vsnip#anonymous"](args.body) require("luasnip").lsp_expand(args.body) end, }, mapping = { [""] = cmp.mapping.scroll_docs(-4), [""] = cmp.mapping.scroll_docs(4), [""] = cmp.mapping.complete(), [""] = cmp.mapping.close(), [""] = cmp.mapping.confirm({ select = true }), }, sources = { { name = "nvim_lsp" }, -- For vsnip user. { name = "vsnip" }, -- For luasnip user. -- { name = 'luasnip' }, -- For ultisnips user. -- { name = 'ultisnips' }, { name = "buffer" }, }, }) -- Setup lsp. metals_config = require("metals").bare_config metals_config.init_options.statusBarProvider = "on" metals_config.settings = { showImplicitArguments = true } metals_config.on_attach = on_attach metals_config.capabilities = require("cmp_nvim_lsp").update_capabilities(vim.lsp.protocol.make_client_capabilities())