Does anyone have an example config loading nvim-cmp with luasnips using mini.deps ? #1507
-
Contributing guidelines
Module(s)mini.deps QuestionI was trying out mini.deps and I got most of everything working, but nvim-cmp just does not seem to function at all. Asking before I jump down the rabbit hole of figuring out what's wrong. |
Beta Was this translation helpful? Give feedback.
Answered by
krovuxdev
Jan 21, 2025
Replies: 1 comment 4 replies
-
@therealjasonkenney I'm not sure if you read about mini.deps. You need to use require("mini.deps").setup()
local add, now, later = MiniDeps.add, MiniDeps.now, MiniDeps.later
add({
source = "neovim/nvim-lspconfig",
depends = {
"hrsh7th/cmp-buffer",
"williamboman/mason.nvim",
},
})
add({
source = "hrsh7th/nvim-cmp",
depends = {
"hrsh7th/cmp-buffer",
'hrsh7th/cmp-vsnip',
'hrsh7th/vim-vsnip',
"hrsh7th/cmp-path",
"hrsh7th/cmp-nvim-lsp",
"saadparwaiz1/cmp_luasnip",
"L3MON4D3/LuaSnip",
},
})
now(function()
require("mason").setup()
local cmp = require("cmp")
cmp.setup({
snippet = {
-- REQUIRED - you must specify a snippet engine
expand = function(args)
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
-- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
-- require('snippy').expand_snippet(args.body) -- For `snippy` users.
-- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
-- vim.snippet.expand(args.body) -- For native neovim snippets (Neovim v0.10+)
end,
},
window = {
-- completion = cmp.config.window.bordered(),
-- documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(),
["<C-e>"] = cmp.mapping.abort(),
["<CR>"] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}),
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "vsnip" }, -- For vsnip users.
-- { name = 'luasnip' }, -- For luasnip users.
-- { name = 'ultisnips' }, -- For ultisnips users.
-- { name = 'snippy' }, -- For snippy users.
}, {
{ name = "buffer" },
}),
})
--
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" },
}),
matching = { disallow_symbol_nonprefix_matching = false },
})
local capabilities = require("cmp_nvim_lsp").default_capabilities()
-- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled.
require("lspconfig")["lua_ls"].setup({
capabilities = capabilities,
})
end) (Currently, I don't use Nvim-cmp; I migrated to Blink.cmp). |
Beta Was this translation helpful? Give feedback.
4 replies
Answer selected by
therealjasonkenney
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@therealjasonkenney I'm not sure if you read about mini.deps. You need to use
now
orlater
to execute it. You might also need to configure yourlspconfig
properly.I copied the code from the Nvim-cmp guide: