neovim/lua/plugins/java.lua

52 lines
1.5 KiB
Lua
Raw Normal View History

function IsFileExist(filename)
local f = io.open(filename)
if f ~= nil then
io.close(f)
return true
else
return false
end
end
function IsDirectoryExist(dirname)
return os.rename(dirname, dirname) and true or false
end
local jdtlspath = os.getenv("HOME") .. "/.jdtls"
if vim.loop.os_uname().sysname == "Windows" then
jdtlspath = os.getenv("HOME") .. "\\.jdtls"
end
-- 创建目录
if not IsFileExist(jdtlspath) then
os.execute("mkdir " .. jdtlspath)
end
-- 检测文件存在否
if not IsDirectoryExist(jdtlspath .. "/bin/jdtls") then
print("download jdtls binary")
local download_ret = os.execute(
"wget https://download.eclipse.org/jdtls/milestones/1.23.0/jdt-language-server-1.23.0-202304271346.tar.gz -P /tmp"
)
if download_ret ~= 0 then
vim.notify("download jdtls binary failed")
return
end
vim.notify("download jdtls success")
local tar_ret = os.execute("tar xvzf /tmp/jdt-language-server-1.23.0-202304271346.tar.gz -C " .. jdtlspath)
if tar_ret ~= 0 then
vim.notify("extract jdtls file failed")
return
end
end
local lombok_path = jdtlspath .. "/bin/lombok.jar"
-- 下载lombok
if not IsFileExist(jdtlspath .. "/bin/lombok.jar") then
vim.notify("download lombok.jar")
local download_ret = os.execute("wget https://projectlombok.org/downloads/lombok.jar -P " .. jdtlspath .. "/bin")
if download_ret ~= 0 then
vim.notify("download lombok failed")
end
end