local cmp = require("cmp") return { { "hrsh7th/nvim-cmp", dependencies = { { "petertriho/cmp-git", }, { "amarakon/nvim-cmp-fonts", }, }, keys = { { "cM", ":CmpStatus", desc = "Cmp Status" }, }, opts = function(_, opts) -- TODO: Fix this comments -- cmp.setup.filetype("gitcommit", { -- sources = cmp.config.sources({ -- { name = "git" }, -- }), -- }) -- -- cmp.setup.filetype("css", { -- sources = cmp.config.sources({ -- { name = "nvim_lsp" }, -- { name = "luasnip" }, -- { name = "path" }, -- }, { -- { name = "buffer" }, -- { name = "fonts", option = { space_filter = "-" } }, -- }), -- }) -- -- -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). -- cmp.setup.cmdline({ "/", "?" }, { -- mapping = cmp.mapping.preset.cmdline(), -- sources = { -- { name = "buffer" }, -- }, -- }) -- -- -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). -- cmp.setup.cmdline(":", { -- mapping = cmp.mapping.preset.cmdline(), -- sources = cmp.config.sources({ -- { name = "path" }, -- }, { -- { name = "cmdline" }, -- }), -- }) opts.mapping = cmp.mapping.preset.insert({ [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), [""] = cmp.mapping.scroll_docs(-4), [""] = cmp.mapping.scroll_docs(4), [""] = cmp.mapping.complete(), [""] = cmp.mapping.abort(), [""] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. [""] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true, }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. [""] = function(fallback) cmp.abort() fallback() end, }) opts.window = { completion = cmp.config.window.bordered(), documentation = cmp.config.window.bordered(), } end, }, }