aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-registry
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-07-11 20:42:40 +0200
committerGitHub <noreply@github.com>2022-07-11 20:42:40 +0200
commit9399b0e66f7cffeb88fe112546ebd06c57f46ed2 (patch)
treebf476ffa8058cf5ebda8273246601dd15359ecec /lua/mason-registry
parentfix(async): increase vim.wait time (#55) (diff)
downloadmason-9399b0e66f7cffeb88fe112546ebd06c57f46ed2.tar
mason-9399b0e66f7cffeb88fe112546ebd06c57f46ed2.tar.gz
mason-9399b0e66f7cffeb88fe112546ebd06c57f46ed2.tar.bz2
mason-9399b0e66f7cffeb88fe112546ebd06c57f46ed2.tar.lz
mason-9399b0e66f7cffeb88fe112546ebd06c57f46ed2.tar.xz
mason-9399b0e66f7cffeb88fe112546ebd06c57f46ed2.tar.zst
mason-9399b0e66f7cffeb88fe112546ebd06c57f46ed2.zip
fix(jdtls): link jdtls executable (#56)
Diffstat (limited to 'lua/mason-registry')
-rw-r--r--lua/mason-registry/jdtls/init.lua24
1 files changed, 22 insertions, 2 deletions
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,
}