From 9399b0e66f7cffeb88fe112546ebd06c57f46ed2 Mon Sep 17 00:00:00 2001 From: William Boman Date: Mon, 11 Jul 2022 20:42:40 +0200 Subject: fix(jdtls): link jdtls executable (#56) --- lua/mason-registry/jdtls/init.lua | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'lua') diff --git a/lua/mason-registry/jdtls/init.lua b/lua/mason-registry/jdtls/init.lua index 19e4440b..55a299a6 100644 --- a/lua/mason-registry/jdtls/init.lua +++ b/lua/mason-registry/jdtls/init.lua @@ -2,6 +2,8 @@ local Pkg = require "mason-core.package" local installer = require "mason-core.installer" local eclipse = require "mason-core.clients.eclipse" local std = require "mason-core.managers.std" +local path = require "mason-core.path" +local platform = require "mason-core.platform" ---@async local function download_jdtls() @@ -34,8 +36,26 @@ return Pkg.new { languages = { Pkg.Lang.Java }, categories = { Pkg.Cat.LSP }, ---@async - install = function() - std.ensure_executable "java" + ---@param ctx InstallContext + install = function(ctx) installer.run_concurrently { download_jdtls, download_lombok } + platform.when { + unix = function() + ctx:link_bin("jdtls", path.concat { "bin", "jdtls" }) + end, + win = function() + ctx:link_bin( + "jdtls", + ctx:write_shell_exec_wrapper( + path.concat { "bin", "jdtls-win" }, + ("python %q"):format(path.concat { + ctx.package:get_install_path(), + "bin", + "jdtls.py", + }) + ) + ) + end, + } end, } -- cgit v1.2.3-70-g09d2