nix-community.nixvim/plugins/cmp/sources/default.nix

206 lines
4.1 KiB
Nix
Raw Normal View History

{
lib,
helpers,
pkgs,
...
}@args:
2024-05-05 19:39:35 +02:00
let
2024-12-18 18:42:03 +01:00
# A list of most cmp source plugins, passed to mkCmpSourcePlugin.
# More complex cmp sources can instead be defined as their own plugin
# and register their source-name association using the `cmpSourcePlugins` option.
sources = [
{
pluginName = "cmp-async-path";
sourceName = "async_path";
}
{
pluginName = "cmp-buffer";
sourceName = "buffer";
}
{
pluginName = "cmp-calc";
sourceName = "calc";
}
{
2024-12-09 22:28:11 -06:00
pluginName = "cmp-clippy";
sourceName = "cmp-clippy";
}
{
pluginName = "cmp-cmdline";
sourceName = "cmdline";
}
{
pluginName = "cmp-cmdline-history";
sourceName = "cmp-cmdline-history";
}
{
pluginName = "cmp-conventionalcommits";
sourceName = "conventionalcommits";
}
{
2024-12-09 22:28:11 -06:00
pluginName = "cmp-dap";
sourceName = "dap";
}
{
pluginName = "cmp-dictionary";
sourceName = "dictionary";
}
{
pluginName = "cmp-digraphs";
sourceName = "digraphs";
}
{
pluginName = "cmp-emoji";
sourceName = "emoji";
}
{
pluginName = "cmp-fish";
sourceName = "fish";
extraOptions.fishPackage = lib.mkPackageOption pkgs "fish" { nullable = true; };
extraConfig = cfg: { extraPackages = [ cfg.fishPackage ]; };
}
{
pluginName = "cmp-fuzzy-buffer";
sourceName = "fuzzy_buffer";
}
{
pluginName = "cmp-fuzzy-path";
sourceName = "fuzzy_path";
}
{
pluginName = "cmp-git";
sourceName = "git";
}
{
pluginName = "cmp-greek";
sourceName = "greek";
}
{
pluginName = "cmp-latex-symbols";
sourceName = "latex_symbols";
}
{
pluginName = "cmp-look";
sourceName = "look";
}
{
pluginName = "cmp_luasnip";
sourceName = "luasnip";
}
{
pluginName = "cmp-nixpkgs-maintainers";
sourceName = "nixpkgs_maintainers";
}
2024-12-09 22:28:11 -06:00
{
pluginName = "cmp-npm";
sourceName = "npm";
}
{
pluginName = "cmp-nvim-lsp";
sourceName = "nvim_lsp";
}
{
pluginName = "cmp-nvim-lsp-document-symbol";
sourceName = "nvim_lsp_document_symbol";
}
{
pluginName = "cmp-nvim-lsp-signature-help";
sourceName = "nvim_lsp_signature_help";
}
{
pluginName = "cmp-nvim-lua";
sourceName = "nvim_lua";
}
{
2024-12-09 22:28:11 -06:00
pluginName = "cmp-nvim-ultisnips";
sourceName = "ultisnips";
}
{
pluginName = "cmp-omni";
sourceName = "omni";
}
2024-12-09 22:28:11 -06:00
{
pluginName = "cmp-pandoc-nvim";
sourceName = "cmp_pandoc";
}
{
pluginName = "cmp-pandoc-references";
sourceName = "pandoc_references";
}
{
pluginName = "cmp-path";
sourceName = "path";
}
{
pluginName = "cmp-rg";
sourceName = "rg";
}
{
pluginName = "cmp-snippy";
sourceName = "snippy";
}
{
pluginName = "cmp-spell";
sourceName = "spell";
}
2024-12-09 22:28:11 -06:00
{
pluginName = "cmp-tabnine";
sourceName = "cmp_tabnine";
}
{
pluginName = "cmp-tmux";
sourceName = "tmux";
}
{
pluginName = "cmp-treesitter";
sourceName = "treesitter";
}
{
pluginName = "cmp-vim-lsp";
sourceName = "vim_lsp";
}
2024-12-09 22:28:22 -06:00
{
pluginName = "cmp-vimtex";
sourceName = "vimtex";
}
{
pluginName = "cmp-vimwiki-tags";
sourceName = "vimwiki-tags";
}
{
pluginName = "cmp-vsnip";
sourceName = "vsnip";
}
{
pluginName = "cmp_yanky";
sourceName = "yanky";
}
{
pluginName = "cmp-zsh";
sourceName = "zsh";
}
2024-12-09 22:28:11 -06:00
{
pluginName = "copilot-cmp";
sourceName = "copilot";
}
{
pluginName = "crates-nvim";
sourceName = "crates";
}
];
mkCmpSourcePlugin = import ./_mk-cmp-plugin.nix args;
pluginModules = builtins.map mkCmpSourcePlugin sources;
2024-05-05 19:39:35 +02:00
in
{
# For extra cmp plugins
2024-05-05 19:39:35 +02:00
imports = [
./copilot-cmp.nix
./cmp-git.nix
./cmp-tabnine.nix
./crates-nvim.nix
] ++ pluginModules;
}