aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/core/clients/eclipse.lua
blob: a788f2e2c44a3c5c632879b44e23dcce78863d9a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
local fetch = require "nvim-lsp-installer.core.fetch"
local M = {}

---@param version string The version string as found in the latest.txt endpoint.
---@return string The parsed version number.
function M._parse_jdtls_version_string(version)
    return vim.trim(version):gsub("^jdt%-language%-server%-", ""):gsub("%.tar%.gz$", "")
end

---@param callback fun(err: string|nil, data: string|nil)
function M.fetch_latest_jdtls_version(callback)
    fetch("https://download.eclipse.org/jdtls/snapshots/latest.txt", function(err, data)
        if err then
            callback(err, nil)
        else
            callback(nil, M._parse_jdtls_version_string(data))
        end
    end)
end

return M