plugins/java: init

This commit is contained in:
Gaetan Lepage 2025-01-23 11:19:50 +01:00 committed by nix-infra-bot
parent e75f0aac90
commit 8f8f50243e
2 changed files with 106 additions and 0 deletions

View file

@ -0,0 +1,44 @@
{ lib, config, ... }:
let
inherit (lib) types;
inherit (lib.nixvim) defaultNullOpts;
in
lib.nixvim.plugins.mkNeovimPlugin {
name = "java";
packPathName = "nvim-java";
package = "nvim-java";
maintainers = [ lib.maintainers.GaetanLepage ];
# `require("java").setup()` must run **BEFORE** lspconfig
configLocation = lib.mkOrder 900 "extraConfigLua";
settingsOptions = {
root_markers =
defaultNullOpts.mkListOf types.str
[
"settings.gradle"
"settings.gradle.kts"
"pom.xml"
"build.gradle"
"mvnw"
"gradlew"
"build.gradle"
"build.gradle.kts"
".git"
]
''
List of files that exist in root of the project.
'';
};
extraConfig = cfg: {
assertions = lib.nixvim.mkAssertions "plugins.nvim-java" {
assertion = cfg.enable -> !config.plugins.nvim-jdtls.enable;
message = ''
You cannot use nvim-java alongside nvim-jdtls.
Please, disable `plugins.nvim-jdtls` if you wish to use this plugin.
'';
};
};
}

View file

@ -0,0 +1,62 @@
{
empty = {
# Tries to write to a log file
test.runNvim = false;
plugins.java.enable = true;
};
defaults = {
# Tries to write to a log file
test.runNvim = false;
plugins.java = {
enable = true;
settings = {
root_markers = [
"settings.gradle"
"settings.gradle.kts"
"pom.xml"
"build.gradle"
"mvnw"
"gradlew"
"build.gradle"
"build.gradle.kts"
".git"
];
jdtls = {
version = "v1.43.0";
};
lombok = {
version = "nightly";
};
java_test = {
enable = true;
version = "0.40.1";
};
java_debug_adapter = {
enable = true;
version = "0.58.1";
};
spring_boot_tools = {
enable = true;
version = "1.55.1";
};
jdk = {
auto_install = true;
version = "17.0.2";
};
notifications = {
dap = true;
};
verification = {
invalid_order = true;
duplicate_setup_calls = true;
invalid_mason_registry = false;
};
};
};
};
}