Currently, regardless of whether nvim-cmp is enabled, nvim-cmp's sources
are added as providers. If the nvim-cmp sources "buffer" or "path" are
enabled they will override and break blink.cmp's default "path" and
"buffer" sources.
This fixes the issue by only configuring nvim-cmp sources and providers
when nvim-cmp is enabled and, if nvim-cmp is enabled, only configuring
nvim-cmp compat providers that are not in the blink.cmp default sources.
Use a submodule to allow arbitrary source additions.
Automatically load sources that are enabled.
Automatically add enabled sources via blink-cmp setupOpts.
Prepopulate with a few basic sources, disabled by default.