diff options
| author | William Boman <william@redwill.se> | 2022-07-13 00:56:26 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-13 00:56:26 +0200 |
| commit | ca2385a3d2d7ccf0256c415f4b3d5daf0777c876 (patch) | |
| tree | b02a1fa88a1a6a77675c681912833efcce49682e /lua/mason-registry | |
| parent | chore(issue_template): make DEBUG log level request clearer (#62) (diff) | |
| download | mason-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.lua | 15 | ||||
| -rw-r--r-- | lua/mason-registry/bsl-language-server/init.lua | 12 | ||||
| -rw-r--r-- | lua/mason-registry/elixir-ls/init.lua | 6 | ||||
| -rw-r--r-- | lua/mason-registry/groovy-language-server/init.lua | 11 | ||||
| -rw-r--r-- | lua/mason-registry/perlnavigator/init.lua | 14 | ||||
| -rw-r--r-- | lua/mason-registry/r-languageserver/init.lua | 9 | ||||
| -rw-r--r-- | lua/mason-registry/rescript-lsp/init.lua | 17 | ||||
| -rw-r--r-- | lua/mason-registry/visualforce-language-server/init.lua | 20 |
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, } |
