From cb7bdcd2d5a71ffb12127d60bcaad5ba39ab741b Mon Sep 17 00:00:00 2001 From: William Boman Date: Sat, 13 Aug 2022 14:35:12 +0200 Subject: fix(julia-lsp): adjust for changes in latest release (#289) --- lua/mason-registry/julia-lsp/init.lua | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'lua/mason-registry') diff --git a/lua/mason-registry/julia-lsp/init.lua b/lua/mason-registry/julia-lsp/init.lua index 14318009..d3dacdfe 100644 --- a/lua/mason-registry/julia-lsp/init.lua +++ b/lua/mason-registry/julia-lsp/init.lua @@ -2,13 +2,25 @@ local Pkg = require "mason-core.package" local path = require "mason-core.path" local std = require "mason-core.managers.std" local github = require "mason-core.managers.github" +local platform = require "mason-core.platform" local server_script = [[ +if VERSION < v"1.0.0" + error("julia language server only works with julia 1.0.0+") +end + +import Pkg +version_specific_env_path = joinpath(@__DIR__, "scripts", "environments", "languageserver", "v$(VERSION.major).$(VERSION.minor)") +if isdir(version_specific_env_path) + Pkg.activate(version_specific_env_path) +else + Pkg.activate(joinpath(@__DIR__, "scripts", "environments", "languageserver", "fallback")) +end + using LanguageServer, SymbolServer, Pkg OLD_DEPOT_PATH = ARGS[1] -SYMBOLSTORE_PATH = ARGS[2] -ENV_PATH = ARGS[3] +ENV_PATH = ARGS[2] runserver( stdin, @@ -16,7 +28,7 @@ runserver( ENV_PATH, OLD_DEPOT_PATH, nothing, - SYMBOLSTORE_PATH + ENV["SYMBOLSTORE_PATH"] ) ]] @@ -55,5 +67,20 @@ return Pkg.new { ctx.fs:rmrf "vscode-package" ctx.fs:write_file("nvim-lsp.jl", server_script) + ctx:link_bin( + "julia-lsp", + ctx:write_shell_exec_wrapper( + "julia-lsp", + ("julia --startup-file=no --history-file=no --depwarn=no %q"):format(path.concat { + ctx.package:get_install_path(), + "nvim-lsp.jl", + }), + { + SYMBOLSTORE_PATH = path.concat { ctx.package:get_install_path(), "symbolstorev5" }, + JULIA_DEPOT_PATH = path.concat { ctx.package:get_install_path(), "lsdepot" }, + JULIA_LOAD_PATH = platform.is.win and ";" or ":", + } + ) + ) end, } -- cgit v1.2.3-70-g09d2