mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-12-08 21:23:53 +00:00
Merge branch 'v0.8' into feature/transparent-base16
This commit is contained in:
commit
916821a0a6
5 changed files with 36 additions and 40 deletions
|
|
@ -69,7 +69,7 @@ isMaximal: {
|
|||
typst.enable = isMaximal;
|
||||
rust = {
|
||||
enable = isMaximal;
|
||||
crates.enable = isMaximal;
|
||||
extensions.crates-nvim.enable = isMaximal;
|
||||
};
|
||||
|
||||
# Language modules that are not as common.
|
||||
|
|
|
|||
|
|
@ -507,6 +507,7 @@
|
|||
- fix broken `neorg` grammars
|
||||
- remove obsolete warning in the `otter` module
|
||||
- add mainProgram attribute to vala language server wrapper
|
||||
- fix `crates-nvim`'s completions by using the in-program lsp
|
||||
|
||||
[JManch](https://github.com/JManch):
|
||||
|
||||
|
|
|
|||
6
flake.lock
generated
6
flake.lock
generated
|
|
@ -53,11 +53,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1761880412,
|
||||
"narHash": "sha256-QoJjGd4NstnyOG4mm4KXF+weBzA2AH/7gn1Pmpfcb0A=",
|
||||
"lastModified": 1764081664,
|
||||
"narHash": "sha256-sUoHmPr/EwXzRMpv1u/kH+dXuvJEyyF2Q7muE+t0EU4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a7fc11be66bdfb5cdde611ee5ce381c183da8386",
|
||||
"rev": "dc205f7b4fdb04c8b7877b43edb7b73be7730081",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
|||
|
|
@ -43,10 +43,10 @@
|
|||
|
||||
defaultFormat = ["prettier"];
|
||||
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 {
|
||||
prettier = {
|
||||
command = getExe pkgs.nodePackages.prettier;
|
||||
command = getExe pkgs.prettier;
|
||||
options.ft_parsers.astro = "astro";
|
||||
prepend_args = ["--plugin=${parser}"];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
inherit (lib.strings) optionalString;
|
||||
inherit (lib.lists) isList;
|
||||
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.attrsets) mapListToAttrs;
|
||||
inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption deprecatedSingleOrListOf;
|
||||
|
|
@ -94,19 +94,26 @@ in {
|
|||
enable = mkEnableOption "crates.io dependency management [crates-nvim]";
|
||||
|
||||
setupOpts = mkPluginSetupOption "crates-nvim" {
|
||||
completion.cmp.enable = mkOption {
|
||||
type = bool;
|
||||
default = config.vim.autocomplete.nvim-cmp.enable;
|
||||
defaultText = "{option}`config.vim.autocomplete.nvim-cmp.enable`";
|
||||
description = ''
|
||||
Whether to add crates.nvim as a source for completion plugins. The following
|
||||
plugins are supported by crates.nvim:
|
||||
|
||||
* nvim-cmp
|
||||
* coq.nvim
|
||||
|
||||
However nvf only supports auto-setup for nvim-cmp.
|
||||
'';
|
||||
lsp = {
|
||||
enabled = mkEnableOption "crates.nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
|
||||
actions = mkEnableOption "actions for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
|
||||
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;};
|
||||
};
|
||||
completion = {
|
||||
crates = {
|
||||
enabled = mkEnableOption "completion for crates-nvim's in-process language server" // {default = cfg.extensions.crates-nvim.enable;};
|
||||
max_results = mkOption {
|
||||
description = "The maximum number of search results to display";
|
||||
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 {
|
||||
vim = let
|
||||
withCompletion = cfg.extensions.crates-nvim.setupOpts.completion.cmp.enable;
|
||||
in
|
||||
mkMerge [
|
||||
{
|
||||
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]";};
|
||||
})
|
||||
];
|
||||
vim = mkMerge [
|
||||
{
|
||||
startPlugins = ["crates-nvim"];
|
||||
pluginRC.rust-crates = entryAnywhere ''
|
||||
require("crates").setup(${toLuaObject cfg.extensions.crates-nvim.setupOpts})
|
||||
'';
|
||||
}
|
||||
];
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue