Merge branch 'v0.8' into feature/transparent-base16

This commit is contained in:
Some Guy 2025-11-26 22:10:21 -07:00 committed by GitHub
commit 916821a0a6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 36 additions and 40 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

@ -507,6 +507,7 @@
- fix broken `neorg` grammars - fix broken `neorg` grammars
- remove obsolete warning in the `otter` module - remove obsolete warning in the `otter` module
- add mainProgram attribute to vala language server wrapper - add mainProgram attribute to vala language server wrapper
- fix `crates-nvim`'s completions by using the in-program lsp
[JManch](https://github.com/JManch): [JManch](https://github.com/JManch):

6
flake.lock generated
View file

@ -53,11 +53,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1761880412, "lastModified": 1764081664,
"narHash": "sha256-QoJjGd4NstnyOG4mm4KXF+weBzA2AH/7gn1Pmpfcb0A=", "narHash": "sha256-sUoHmPr/EwXzRMpv1u/kH+dXuvJEyyF2Q7muE+t0EU4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a7fc11be66bdfb5cdde611ee5ce381c183da8386", "rev": "dc205f7b4fdb04c8b7877b43edb7b73be7730081",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -43,10 +43,10 @@
defaultFormat = ["prettier"]; defaultFormat = ["prettier"];
formats = let formats = let
parser = "${self.packages.${pkgs.stdenv.system}.prettier-plugin-astro}/index.js"; parser = "${self.packages.${pkgs.stdenv.hostPlatform.system}.prettier-plugin-astro}/index.js";
in { in {
prettier = { prettier = {
command = getExe pkgs.nodePackages.prettier; command = getExe pkgs.prettier;
options.ft_parsers.astro = "astro"; options.ft_parsers.astro = "astro";
prepend_args = ["--plugin=${parser}"]; prepend_args = ["--plugin=${parser}"];
}; };

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,26 @@ 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 = mkEnableOption "completion for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
description = '' hover = mkEnableOption "hover actions 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 };
plugins are supported by crates.nvim: completion = {
crates = {
* nvim-cmp enabled = mkEnableOption "completion for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
* coq.nvim max_results = mkOption {
description = "The maximum number of search results to display";
However nvf only supports auto-setup for nvim-cmp. type = int;
''; default = 8;
};
min_chars = mkOption {
description = "The minimum number of characters to type before completions begin appearing";
type = int;
default = 3;
};
};
}; };
}; };
}; };
@ -197,26 +204,14 @@ in {
}) })
(mkIf cfg.extensions.crates-nvim.enable { (mkIf cfg.extensions.crates-nvim.enable {
vim = let vim = mkMerge [
withCompletion = cfg.extensions.crates-nvim.setupOpts.completion.cmp.enable; {
in startPlugins = ["crates-nvim"];
mkMerge [ pluginRC.rust-crates = entryAnywhere ''
{ require("crates").setup(${toLuaObject cfg.extensions.crates-nvim.setupOpts})
startPlugins = ["crates-nvim"]; '';
pluginRC.rust-crates = entryAnywhere '' }
require("crates").setup(${toLuaObject cfg.extensions.crates-nvim.setupOpts}) ];
'';
}
# FIXME: this will not be necessary once crates.nvim creates a new release that
# ships improvements to the in-progress LSP module. If updating > 0.7.1, remember
# to update this section.
# See:
# <https://github.com/saecki/crates.nvim/wiki/Documentation-unstable#auto-completion>
(mkIf withCompletion {
autocomplete.nvim-cmp.sources = {crates = "[Crates]";};
})
];
}) })
]); ]);
} }