modules/languages: fix rust crates-nvim deprecation

move the completion into the lsp
This commit is contained in:
Soliprem 2025-11-25 23:19:53 +01:00
commit 84026fed88
2 changed files with 20 additions and 15 deletions

View file

@ -69,7 +69,7 @@ isMaximal: {
typst.enable = isMaximal; typst.enable = isMaximal;
rust = { rust = {
enable = isMaximal; enable = isMaximal;
crates.enable = isMaximal; extensions.crates-nvim.enable = isMaximal;
}; };
# Language modules that are not as common. # Language modules that are not as common.

View file

@ -10,7 +10,7 @@
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.attrsets) attrNames; inherit (lib.attrsets) attrNames;
inherit (lib.types) bool package str listOf either enum; inherit (lib.types) bool package str listOf either enum int;
inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.lua) expToLua toLuaObject;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption deprecatedSingleOrListOf; inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption deprecatedSingleOrListOf;
@ -94,19 +94,24 @@ in {
enable = mkEnableOption "crates.io dependency management [crates-nvim]"; enable = mkEnableOption "crates.io dependency management [crates-nvim]";
setupOpts = mkPluginSetupOption "crates-nvim" { setupOpts = mkPluginSetupOption "crates-nvim" {
completion.cmp.enable = mkOption { lsp = {
type = bool; enabled = mkEnableOption "crates.nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
default = config.vim.autocomplete.nvim-cmp.enable; actions = mkEnableOption "actions for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
defaultText = "{option}`config.vim.autocomplete.nvim-cmp.enable`"; # completion = {
description = '' # enabled = mkEnableOption "completion for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
Whether to add crates.nvim as a source for completion plugins. The following # max_results = mkOption {
plugins are supported by crates.nvim: # description = "The maximum number of search results to display";
# type = int;
* nvim-cmp # default = 8;
* coq.nvim # };
# min_chars = mkOption {
However nvf only supports auto-setup for nvim-cmp. # description = "The minimum number of characters to type before completions begin appearing";
''; # type = int;
# default = 3;
# };
# };
completion = mkEnableOption "completion for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
hover = mkEnableOption "hover actions for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
}; };
}; };
}; };