mirror of
https://github.com/NotAShelf/nvf.git
synced 2026-04-27 03:47:37 +00:00
languages/java: add extension maven.nvim
This commit is contained in:
parent
0af6815072
commit
b00e829594
3 changed files with 52 additions and 2 deletions
|
|
@ -7,8 +7,9 @@
|
|||
inherit (lib.options) literalExpression mkEnableOption mkOption;
|
||||
inherit (lib.modules) mkIf mkMerge;
|
||||
inherit (lib) genAttrs;
|
||||
inherit (lib.types) listOf;
|
||||
inherit (lib.nvim.types) mkGrammarOption enumWithRename;
|
||||
inherit (lib.types) listOf str;
|
||||
inherit (lib.meta) getExe;
|
||||
inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption enumWithRename;
|
||||
|
||||
cfg = config.vim.languages.java;
|
||||
|
||||
|
|
@ -46,6 +47,26 @@ in {
|
|||
description = "Java LSP server to use";
|
||||
};
|
||||
};
|
||||
extensions = {
|
||||
maven-nvim = {
|
||||
enable = mkEnableOption "maven integration";
|
||||
setupOpts = mkPluginSetupOption "maven-nvim" {
|
||||
mvn_executable = mkOption {
|
||||
type = str;
|
||||
default = getExe pkgs.maven;
|
||||
defaultText = literalExpression "getExe pkgs.maven";
|
||||
description = ''
|
||||
The maven executable to use.
|
||||
'';
|
||||
example = ''
|
||||
- `"mvn"`: to use the maven from the `PATH`.
|
||||
- `"./mvnw"`: to use the projects maven.
|
||||
- `"$${getExe pkgs.maven}"`: to use maven from a nix package.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [
|
||||
|
|
@ -62,5 +83,18 @@ in {
|
|||
vim.treesitter.enable = true;
|
||||
vim.treesitter.grammars = [cfg.treesitter.package];
|
||||
})
|
||||
|
||||
(mkIf cfg.extensions.maven-nvim.enable {
|
||||
vim = mkMerge [
|
||||
{
|
||||
startPlugins = ["nui-nvim" "plenary-nvim"];
|
||||
lazy.plugins.maven-nvim = {
|
||||
package = "maven-nvim";
|
||||
setupModule = "maven";
|
||||
setupOpts = cfg.extensions.maven-nvim.setupOpts;
|
||||
};
|
||||
}
|
||||
];
|
||||
})
|
||||
]);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue