You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fix sources added by specs (e.g. luasnip, lazydev) being silently dropped in the nvim-cmp configuration.
Problem
The opts function builds its own sources table (buffer, nvim_lsp, path) and assigns it directly:
sources=sources,
This overwrites opts.sources, which contains sources added by specs via opts_extend = { "sources" } — such as luasnip (from the LuaSnip spec) and lazydev (from the lazydev spec).
As a result, snippet completions and other spec-injected sources are silently lost.
Fix
Replace the direct assignment with vim.list_extend to merge the locally-built sources with those from specs:
sources=vim.list_extend(sources, opts.sources),
This ensures sources like { name = "luasnip", priority = 750 } and { name = "lazydev", group_index = 0 } are preserved alongside the base sources.
Does this PR follow the [Contribution Guidelines](development guidelines)? Following is a partial checklist:
Proper conventional commit scoping:
If you are adding a new plugin, the scope would be the name of the category it is being added into. ex. feat(utility): added noice.nvim plugin
If you are modifying a pre-existing plugin or pack, the scope would be the name of the plugin folder. ex. fix(noice-nvim): fix LSP handler error
Pull request title has the appropriate conventional commit type and scope where the scope is the name of the pre-existing directory in the project as described above
README is properly formatted and uses fenced in links with <url> unless they are inside a [title](url)
Entry returns a single plugin spec with the new plugin as the only top level spec (not applicable for recipes or packs).
Proper usage of opts table rather than setting things up with the config function.
Proper usage of specs table for all specs that are not dependencies of a given plugin (not applicable for recipes or packs).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix sources added by specs (e.g.
luasnip,lazydev) being silently dropped in the nvim-cmp configuration.Problem
The
optsfunction builds its ownsourcestable (buffer,nvim_lsp,path) and assigns it directly:This overwrites
opts.sources, which contains sources added by specs viaopts_extend = { "sources" }— such asluasnip(from the LuaSnip spec) andlazydev(from the lazydev spec).As a result, snippet completions and other spec-injected sources are silently lost.
Fix
Replace the direct assignment with
vim.list_extendto merge the locally-built sources with those from specs:This ensures sources like
{ name = "luasnip", priority = 750 }and{ name = "lazydev", group_index = 0 }are preserved alongside the base sources.