in src/main/kotlin/co/huggingface/llmintellij/lsp/LlmLsLspServerDescriptor.kt [103:122]
fun downloadLlmLs(logger: Logger, binaryPath: String?, version: String): String? {
if (binaryPath != null && binaryPath.endsWith(version) && File(binaryPath).exists()) {
return binaryPath
}
val binDir = File(System.getProperty("user.home"), ".cache/llm_intellij/bin")
binDir.mkdirs()
val binName = buildBinaryName(logger) ?: return null
val fullPath = File(binDir, "$binName-$version")
if (!fullPath.exists()) {
val url = buildUrl(binName, version)
downloadAndUnzip(url, binDir, binName, fullPath.absolutePath)
logger.info("Successfully downloaded llm-ls")
}
return fullPath.absolutePath
}