aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-registry
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-08-13 14:35:12 +0200
committerGitHub <noreply@github.com>2022-08-13 14:35:12 +0200
commitcb7bdcd2d5a71ffb12127d60bcaad5ba39ab741b (patch)
tree113873de7a647cd4ba3a092c6f54fd5ffa61ccdb /lua/mason-registry
parentchore: update generated code (#291) (diff)
downloadmason-cb7bdcd2d5a71ffb12127d60bcaad5ba39ab741b.tar
mason-cb7bdcd2d5a71ffb12127d60bcaad5ba39ab741b.tar.gz
mason-cb7bdcd2d5a71ffb12127d60bcaad5ba39ab741b.tar.bz2
mason-cb7bdcd2d5a71ffb12127d60bcaad5ba39ab741b.tar.lz
mason-cb7bdcd2d5a71ffb12127d60bcaad5ba39ab741b.tar.xz
mason-cb7bdcd2d5a71ffb12127d60bcaad5ba39ab741b.tar.zst
mason-cb7bdcd2d5a71ffb12127d60bcaad5ba39ab741b.zip
fix(julia-lsp): adjust for changes in latest release (#289)
Diffstat (limited to 'lua/mason-registry')
-rw-r--r--lua/mason-registry/julia-lsp/init.lua33
1 files changed, 30 insertions, 3 deletions
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,
}