aboutsummaryrefslogtreecommitdiffstats
path: root/lua/mason-registry
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-07-13 00:56:26 +0200
committerGitHub <noreply@github.com>2022-07-13 00:56:26 +0200
commitca2385a3d2d7ccf0256c415f4b3d5daf0777c876 (patch)
treeb02a1fa88a1a6a77675c681912833efcce49682e /lua/mason-registry
parentchore(issue_template): make DEBUG log level request clearer (#62) (diff)
downloadmason-ca2385a3d2d7ccf0256c415f4b3d5daf0777c876.tar
mason-ca2385a3d2d7ccf0256c415f4b3d5daf0777c876.tar.gz
mason-ca2385a3d2d7ccf0256c415f4b3d5daf0777c876.tar.bz2
mason-ca2385a3d2d7ccf0256c415f4b3d5daf0777c876.tar.lz
mason-ca2385a3d2d7ccf0256c415f4b3d5daf0777c876.tar.xz
mason-ca2385a3d2d7ccf0256c415f4b3d5daf0777c876.tar.zst
mason-ca2385a3d2d7ccf0256c415f4b3d5daf0777c876.zip
feat: add more wrapper executables for packages that don't provide one (#63)
Diffstat (limited to 'lua/mason-registry')
-rw-r--r--lua/mason-registry/bicep-lsp/init.lua15
-rw-r--r--lua/mason-registry/bsl-language-server/init.lua12
-rw-r--r--lua/mason-registry/elixir-ls/init.lua6
-rw-r--r--lua/mason-registry/groovy-language-server/init.lua11
-rw-r--r--lua/mason-registry/perlnavigator/init.lua14
-rw-r--r--lua/mason-registry/r-languageserver/init.lua9
-rw-r--r--lua/mason-registry/rescript-lsp/init.lua17
-rw-r--r--lua/mason-registry/visualforce-language-server/init.lua20
8 files changed, 97 insertions, 7 deletions
diff --git a/lua/mason-registry/bicep-lsp/init.lua b/lua/mason-registry/bicep-lsp/init.lua
index d7acf134..8472505a 100644
--- a/lua/mason-registry/bicep-lsp/init.lua
+++ b/lua/mason-registry/bicep-lsp/init.lua
@@ -24,8 +24,19 @@ return Pkg.new {
})
.with_receipt()
end)
- ctx.fs:rename(path.concat { "vscode", "extension", "bicepLanguageServer" }, "langserver")
+ ctx.fs:rename(path.concat { "vscode", "extension", "bicepLanguageServer" }, "bicepLanguageServer")
ctx.fs:rmrf "vscode"
- ctx:chdir "langserver"
+
+ ctx:link_bin(
+ "bicep-lsp",
+ ctx:write_shell_exec_wrapper(
+ "bicep-lsp",
+ ("dotnet %q"):format(path.concat {
+ ctx.package:get_install_path(),
+ "bicepLanguageServer",
+ "Bicep.LangServer.dll",
+ })
+ )
+ )
end,
}
diff --git a/lua/mason-registry/bsl-language-server/init.lua b/lua/mason-registry/bsl-language-server/init.lua
index e9575e9b..2b5ad2ab 100644
--- a/lua/mason-registry/bsl-language-server/init.lua
+++ b/lua/mason-registry/bsl-language-server/init.lua
@@ -1,5 +1,6 @@
local Pkg = require "mason-core.package"
local github = require "mason-core.managers.github"
+local path = require "mason-core.path"
return Pkg.new {
name = "bsl-language-server",
@@ -8,7 +9,8 @@ return Pkg.new {
languages = { Pkg.Lang["1ะก:Enterprise"], Pkg.Lang.OneScript },
categories = { Pkg.Cat.LSP },
---@async
- install = function()
+ ---@param ctx InstallContext
+ install = function(ctx)
github
.download_release_file({
repo = "1c-syntax/bsl-language-server",
@@ -19,5 +21,13 @@ return Pkg.new {
end,
})
.with_receipt()
+
+ ctx:link_bin(
+ "bsl-language-server",
+ ctx:write_shell_exec_wrapper(
+ "bsl-language-server",
+ ("java -jar %q"):format(path.concat { ctx.package:get_install_path(), "bsl-lsp.jar" })
+ )
+ )
end,
}
diff --git a/lua/mason-registry/elixir-ls/init.lua b/lua/mason-registry/elixir-ls/init.lua
index a5d0a8d4..f12c1113 100644
--- a/lua/mason-registry/elixir-ls/init.lua
+++ b/lua/mason-registry/elixir-ls/init.lua
@@ -1,5 +1,6 @@
local Pkg = require "mason-core.package"
local github = require "mason-core.managers.github"
+local platform = require "mason-core.platform"
return Pkg.new {
name = "elixir-ls",
@@ -8,12 +9,15 @@ return Pkg.new {
languages = { Pkg.Lang.Elixir },
categories = { Pkg.Cat.LSP, Pkg.Cat.DAP },
---@async
- install = function()
+ ---@param ctx InstallContext
+ install = function(ctx)
github
.unzip_release_file({
repo = "elixir-lsp/elixir-ls",
asset_file = "elixir-ls.zip",
})
.with_receipt()
+
+ ctx:link_bin("elixir-ls", platform.is.win and "language_server.bat" or "language_server.sh")
end,
}
diff --git a/lua/mason-registry/groovy-language-server/init.lua b/lua/mason-registry/groovy-language-server/init.lua
index 96dbf22a..65556312 100644
--- a/lua/mason-registry/groovy-language-server/init.lua
+++ b/lua/mason-registry/groovy-language-server/init.lua
@@ -1,6 +1,7 @@
local Pkg = require "mason-core.package"
local std = require "mason-core.managers.std"
local git = require "mason-core.managers.git"
+local path = require "mason-core.path"
return Pkg.new {
name = "groovy-language-server",
@@ -18,5 +19,15 @@ return Pkg.new {
"build",
with_paths = { ctx.cwd:get() },
}
+
+ ctx:link_bin(
+ "groovy-language-server",
+ ctx:write_shell_exec_wrapper(
+ "groovy-language-server",
+ ("java -jar %q"):format(
+ path.concat { ctx.package:get_install_path(), "build", "libs", "groovyls-all.jar" }
+ )
+ )
+ )
end,
}
diff --git a/lua/mason-registry/perlnavigator/init.lua b/lua/mason-registry/perlnavigator/init.lua
index f2b284b4..654ecb94 100644
--- a/lua/mason-registry/perlnavigator/init.lua
+++ b/lua/mason-registry/perlnavigator/init.lua
@@ -1,5 +1,6 @@
local Pkg = require "mason-core.package"
local npm = require "mason-core.managers.npm"
+local path = require "mason-core.path"
return Pkg.new {
name = "perlnavigator",
@@ -7,5 +8,16 @@ return Pkg.new {
homepage = "https://github.com/bscan/PerlNavigator",
languages = { Pkg.Lang.Perl },
categories = { Pkg.Cat.LSP },
- install = npm.packages { "perlnavigator-server" },
+ ---@async
+ ---@param ctx InstallContext
+ install = function(ctx)
+ npm.packages { "perlnavigator-server" }()
+ ctx:link_bin(
+ "perlnavigator",
+ ctx:write_node_exec_wrapper(
+ "perlnavigator",
+ path.concat { "node_modules", "perlnavigator-server", "out", "server.js" }
+ )
+ )
+ end,
}
diff --git a/lua/mason-registry/r-languageserver/init.lua b/lua/mason-registry/r-languageserver/init.lua
index bb6d816f..77cc4c77 100644
--- a/lua/mason-registry/r-languageserver/init.lua
+++ b/lua/mason-registry/r-languageserver/init.lua
@@ -1,4 +1,5 @@
local Pkg = require "mason-core.package"
+local path = require "mason-core.path"
---@param install_dir string
local function create_install_script(install_dir)
@@ -67,5 +68,13 @@ return Pkg.new {
}
ctx.fs:write_file("server.R", create_server_script(ctx.handle.package:get_install_path()))
ctx.receipt:with_primary_source(ctx.receipt.r_package "languageserver")
+
+ ctx:link_bin(
+ "r-languageserver",
+ ctx:write_shell_exec_wrapper(
+ "r-languageserver",
+ ("R --slave -f %q"):format(path.concat { ctx.package:get_install_path(), "server.R" })
+ )
+ )
end,
}
diff --git a/lua/mason-registry/rescript-lsp/init.lua b/lua/mason-registry/rescript-lsp/init.lua
index 482b0b87..ec79ab09 100644
--- a/lua/mason-registry/rescript-lsp/init.lua
+++ b/lua/mason-registry/rescript-lsp/init.lua
@@ -1,5 +1,6 @@
local Pkg = require "mason-core.package"
local github = require "mason-core.managers.github"
+local path = require "mason-core.path"
return Pkg.new {
name = "rescript-lsp",
@@ -8,7 +9,8 @@ return Pkg.new {
languages = { Pkg.Lang.ReScript },
categories = { Pkg.Cat.LSP },
---@async
- install = function()
+ ---@param ctx InstallContext
+ install = function(ctx)
github
.unzip_release_file({
repo = "rescript-lang/rescript-vscode",
@@ -17,5 +19,18 @@ return Pkg.new {
end,
})
.with_receipt()
+
+ ctx:link_bin(
+ "rescript-lsp",
+ ctx:write_node_exec_wrapper(
+ "rescript-lsp",
+ path.concat {
+ "extension",
+ "server",
+ "out",
+ "server.js",
+ }
+ )
+ )
end,
}
diff --git a/lua/mason-registry/visualforce-language-server/init.lua b/lua/mason-registry/visualforce-language-server/init.lua
index b5e2d283..c9f072b1 100644
--- a/lua/mason-registry/visualforce-language-server/init.lua
+++ b/lua/mason-registry/visualforce-language-server/init.lua
@@ -3,6 +3,7 @@ local github = require "mason-core.managers.github"
local github_client = require "mason-core.managers.github.client"
local Optional = require "mason-core.optional"
local _ = require "mason-core.functional"
+local path = require "mason-core.path"
return Pkg.new {
name = "visualforce-language-server",
@@ -11,7 +12,8 @@ return Pkg.new {
languages = { Pkg.Lang.Visualforce },
categories = { Pkg.Cat.LSP },
---@async
- install = function()
+ ---@param ctx InstallContext
+ install = function(ctx)
local repo = "forcedotcom/salesforcedx-vscode"
-- See https://github.com/forcedotcom/salesforcedx-vscode/issues/4184#issuecomment-1146052086
@@ -30,5 +32,21 @@ return Pkg.new {
repo = repo,
})
.with_receipt()
+
+ ctx:link_bin(
+ "visualforce-language-server",
+ ctx:write_node_exec_wrapper(
+ "visualforce-language-server",
+ path.concat {
+ "extension",
+ "node_modules",
+ "@salesforce",
+ "salesforcedx-visualforce-language-server",
+ "out",
+ "src",
+ "visualforceServer.js",
+ }
+ )
+ )
end,
}