mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2025-01-09 04:39:47 +01:00
completion: migrate to shared cmp source options
This commit is contained in:
parent
593ac3b751
commit
0d0c885d70
8 changed files with 75 additions and 67 deletions
|
@ -58,8 +58,8 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
autocomplete.nvim-cmp = {
|
||||
sources = {copilot = "[Copilot]";};
|
||||
autocomplete = {
|
||||
nvim-cmp.sources = {copilot = "[Copilot]";};
|
||||
sourcePlugins = ["copilot-cmp"];
|
||||
};
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
borders = config.vim.ui.borders.plugins.nvim-cmp;
|
||||
|
||||
cfg = config.vim.autocomplete.nvim-cmp;
|
||||
autocompleteCfg = config.vim.autocomplete;
|
||||
luasnipEnable = config.vim.snippets.luasnip.enable;
|
||||
getPluginName = plugin:
|
||||
if typeOf plugin == "string"
|
||||
|
@ -23,8 +24,6 @@
|
|||
in {
|
||||
config = mkIf cfg.enable {
|
||||
vim = {
|
||||
autocomplete.enableSharedCmpSources = true;
|
||||
|
||||
lazy.plugins = {
|
||||
nvim-cmp = {
|
||||
package = "nvim-cmp";
|
||||
|
@ -50,22 +49,24 @@ in {
|
|||
${optionalString config.vim.lazy.enable
|
||||
(concatStringsSep "\n" (map
|
||||
(package: "require('lz.n').trigger_load(${toLuaObject (getPluginName package)})")
|
||||
cfg.sourcePlugins))}
|
||||
autocompleteCfg.sourcePlugins))}
|
||||
'';
|
||||
|
||||
event = ["InsertEnter" "CmdlineEnter"];
|
||||
};
|
||||
};
|
||||
|
||||
autocomplete.nvim-cmp = {
|
||||
autocomplete = {
|
||||
enableSharedCmpSources = true;
|
||||
sourcePlugins = ["cmp-buffer" "cmp-path"];
|
||||
|
||||
nvim-cmp = {
|
||||
sources = {
|
||||
nvim-cmp = null;
|
||||
buffer = "[Buffer]";
|
||||
path = "[Path]";
|
||||
};
|
||||
|
||||
sourcePlugins = ["cmp-buffer" "cmp-path"];
|
||||
|
||||
setupOpts = {
|
||||
sources = map (s: {name = s;}) (attrNames cfg.sources);
|
||||
|
||||
|
@ -123,4 +124,5 @@ in {
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ in {
|
|||
options.vim.autocomplete = {
|
||||
enableSharedCmpSources = mkEnableOption "cmp sources shared by nvim-cmp and blink.cmp";
|
||||
|
||||
cmpSourcePlugins = mkOption {
|
||||
sourcePlugins = mkOption {
|
||||
type = listOf pluginType;
|
||||
default = [];
|
||||
description = "List of cmp source plugins.";
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
cfg = config.vim.lsp;
|
||||
usingNvimCmp = config.vim.autocomplete.nvim-cmp.enable;
|
||||
usingBlinkCmp = config.vim.autocomplete.blink-cmp.enable;
|
||||
self = import ./module.nix {inherit config lib pkgs;};
|
||||
|
||||
mappingDefinitions = self.options.vim.lsp.mappings;
|
||||
|
@ -22,8 +23,8 @@
|
|||
in {
|
||||
config = mkIf cfg.enable {
|
||||
vim = {
|
||||
autocomplete.nvim-cmp = {
|
||||
sources = {nvim_lsp = "[LSP]";};
|
||||
autocomplete = mkIf usingNvimCmp {
|
||||
nvim-cmp.sources = {nvim_lsp = "[LSP]";};
|
||||
sourcePlugins = ["cmp-nvim-lsp"];
|
||||
};
|
||||
|
||||
|
@ -170,6 +171,10 @@ in {
|
|||
},
|
||||
}
|
||||
''}
|
||||
|
||||
${optionalString usingBlinkCmp ''
|
||||
-- TODO
|
||||
''}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -8,11 +8,12 @@
|
|||
inherit (lib.nvim.lua) toLuaObject;
|
||||
|
||||
cfg = config.vim.lsp.lspkind;
|
||||
inherit (config.vim) autocomplete;
|
||||
in {
|
||||
config = mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion = config.vim.autocomplete.nvim-cmp.enable;
|
||||
assertion = autocomplete.nvim-cmp.enable || autocomplete.blink-cmp.enable;
|
||||
message = ''
|
||||
While lspkind supports Neovim's native lsp upstream, using that over
|
||||
nvim-cmp isn't recommended, nor supported by nvf.
|
||||
|
|
|
@ -48,7 +48,7 @@ in {
|
|||
# If using nvim-cmp, otherwise set to false
|
||||
type = bool;
|
||||
description = "If using nvim-cmp, otherwise set to false";
|
||||
default = config.vim.autocomplete.nvim-cmp.enable;
|
||||
default = config.vim.autocomplete.enableSharedCmpSources;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -17,8 +17,8 @@ in {
|
|||
};
|
||||
};
|
||||
startPlugins = cfg.providers;
|
||||
autocomplete.nvim-cmp = {
|
||||
sources = {luasnip = "[LuaSnip]";};
|
||||
autocomplete = {
|
||||
nvim-cmp.sources = {luasnip = "[LuaSnip]";};
|
||||
sourcePlugins = ["cmp-luasnip"];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -20,8 +20,8 @@ in {
|
|||
vim = {
|
||||
startPlugins = ["nvim-treesitter"];
|
||||
|
||||
autocomplete.nvim-cmp = {
|
||||
sources = {treesitter = "[Treesitter]";};
|
||||
autocomplete = {
|
||||
nvim-cmp.sources = {treesitter = "[Treesitter]";};
|
||||
sourcePlugins = ["cmp-treesitter"];
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue