From c4a7fd88b59c99fec5e198154bc3f3bbd028d8b9 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Mon, 20 Apr 2026 23:49:51 +0200 Subject: [PATCH] languages/java: add extension gradle.nvim --- docs/manual/release-notes/rl-0.9.md | 3 +++ modules/plugins/languages/java.nix | 31 +++++++++++++++++++++++++++++ npins/sources.json | 13 ++++++++++++ 3 files changed, 47 insertions(+) diff --git a/docs/manual/release-notes/rl-0.9.md b/docs/manual/release-notes/rl-0.9.md index 23e84a1a..7bbe8db0 100644 --- a/docs/manual/release-notes/rl-0.9.md +++ b/docs/manual/release-notes/rl-0.9.md @@ -386,6 +386,9 @@ - Added {option}`vim.languages.java.extensions.maven-nvim.enable` for Maven support; +- Added {option}`vim.languages.java.extensions.gradle-nvim.enable` for Gradle + support; + - Didn't Add [`syntax-gaslighting`](https://github.com/NotAShelf/syntax-gaslighting.nvim), you're crazy. diff --git a/modules/plugins/languages/java.nix b/modules/plugins/languages/java.nix index c1094f4c..25a78acb 100644 --- a/modules/plugins/languages/java.nix +++ b/modules/plugins/languages/java.nix @@ -47,6 +47,7 @@ in { description = "Java LSP server to use"; }; }; + extensions = { maven-nvim = { enable = mkEnableOption "maven integration"; @@ -66,6 +67,23 @@ in { }; }; }; + gradle-nvim = { + enable = mkEnableOption "gradle integration"; + setupOpts = mkPluginSetupOption "gradle-nvim" { + gadle_executable = mkOption { + type = str; + default = getExe pkgs.gradle; + defaultText = literalExpression "getExe pkgs.gradle"; + description = '' + The gradle executable to use. + ''; + example = '' + - `"gradle"`: to use the gradle from the `PATH`. + - `"$${getExe pkgs.gradle}"`: to use gradle from a nix package. + ''; + }; + }; + }; }; }; @@ -96,5 +114,18 @@ in { } ]; }) + + (mkIf cfg.extensions.gradle-nvim.enable { + vim = mkMerge [ + { + startPlugins = ["nui-nvim" "plenary-nvim"]; + lazy.plugins.gradle-nvim = { + package = "gradle-nvim"; + setupModule = "gradle"; + setupOpts = cfg.extensions.gradle-nvim.setupOpts; + }; + } + ]; + }) ]); } diff --git a/npins/sources.json b/npins/sources.json index ffd5978d..51a79319 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -702,6 +702,19 @@ "url": "https://api.github.com/repos/olexsmir/gopher.nvim/tarball/refs/tags/v0.6.1", "hash": "sha256-tfagWNHlfCRQ0BMihFCubKgMUpp5QtFl91ja4/Y2/gI=" }, + "gradle-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "oclay1st", + "repo": "gradle.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "dac2cdd20cbc55c588bdcda1b4ee6f9b280d9e79", + "url": "https://github.com/oclay1st/gradle.nvim/archive/dac2cdd20cbc55c588bdcda1b4ee6f9b280d9e79.tar.gz", + "hash": "sha256-wcUMX9Z1KKkZWs79OnunyGS4yYEeHiiTjtIHUjq1A3k=" + }, "gruber-darker": { "type": "Git", "repository": {