1
0
Fork 0
mirror of https://github.com/nix-community/nixvim.git synced 2025-11-08 19:46:06 +01:00
nixvim/plugins/by-name/java/default.nix
saygo-png c4b27080a6 treewide: infer packPathName menial work
Signed-off-by: saygo-png <saygo.mail@proton.me>
2025-09-27 23:49:59 +00:00

44 lines
1.1 KiB
Nix

{ lib, config, ... }:
let
inherit (lib) types;
inherit (lib.nixvim) defaultNullOpts;
in
lib.nixvim.plugins.mkNeovimPlugin {
name = "java";
package = "nvim-java";
description = "Neovim plugin for Java development, providing LSP support and more.";
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.jdtls.enable;
message = ''
You cannot use nvim-java alongside nvim-jdtls.
Please, disable `plugins.jdtls` if you wish to use this plugin.
'';
};
};
}