{ config, pkgs, lib, ... }: let inherit (lib.nix2lua) pipe1 call0 call1; inherit (pkgs) vimUtils fetchFromGitHub; spring-boot-nvim = vimUtils.buildVimPlugin { pname = "spring-boot"; version = "2024-08-10"; src = fetchFromGitHub { owner = "JavaHello"; repo = "spring-boot.nvim"; rev = "995a705becbc711b703f9ab344745ececf6471a3"; hash = "sha256-Hri6WQnWTmFwlOUCVG8O1eELn9FhlvVpUC9lt+uIGkc="; }; }; in { plugin.spring-boot-nvim = { enable = true; package = spring-boot-nvim; name = "spring_boot"; }; plugin.nvim-lspconfig.beforeSetup = [ (pipe1 config.plugin.spring-boot-nvim.var (call1 "setup" { java_cmd = "${pkgs.jdk22}/bin/java"; log_file = "/tmp/spring-boot.log"; })) (pipe1 config.plugin.spring-boot-nvim.var (call0 "init_lsp_commands")) ]; plugins.language-server.lspconfig.serverSettings.jdtls = { init_options = { bundles = (pipe1 config.plugin.spring-boot-nvim.var (call0 "java_extensions")); }; }; }