blob: 19e4440b7d3e3a433a355bc94c8ee73aef727de6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
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"
---@async
local function download_jdtls()
local ctx = installer.context()
local version = ctx.requested_version:or_else_get(function()
return eclipse.fetch_latest_jdtls_version():get_or_throw()
end)
std.download_file(
("https://download.eclipse.org/jdtls/snapshots/jdt-language-server-%s.tar.gz"):format(version),
"archive.tar.gz"
)
std.untar "archive.tar.gz"
ctx.receipt:with_primary_source {
type = "jdtls",
version = version,
}
end
---@async
local function download_lombok()
std.download_file("https://projectlombok.org/downloads/lombok.jar", "lombok.jar")
end
return Pkg.new {
name = "jdtls",
desc = [[Java language server]],
homepage = "https://github.com/eclipse/eclipse.jdt.ls",
languages = { Pkg.Lang.Java },
categories = { Pkg.Cat.LSP },
---@async
install = function()
std.ensure_executable "java"
installer.run_concurrently { download_jdtls, download_lombok }
end,
}
|