diff options
Diffstat (limited to 'lua')
18 files changed, 114 insertions, 87 deletions
diff --git a/lua/mason-lspconfig/server_configurations/bicep/init.lua b/lua/mason-lspconfig/server_configurations/bicep/init.lua index ba5e4a6a..ddc0a2af 100644 --- a/lua/mason-lspconfig/server_configurations/bicep/init.lua +++ b/lua/mason-lspconfig/server_configurations/bicep/init.lua @@ -1,8 +1,5 @@ -local path = require "mason-core.path" - ----@param install_dir string -return function(install_dir) +return function() return { - cmd = { "dotnet", path.concat { install_dir, "Bicep.LangServer.dll" } }, + cmd = { "bicep-lsp" }, } end diff --git a/lua/mason-lspconfig/server_configurations/bsl_ls/init.lua b/lua/mason-lspconfig/server_configurations/bsl_ls/init.lua index d8971320..62dfa5c0 100644 --- a/lua/mason-lspconfig/server_configurations/bsl_ls/init.lua +++ b/lua/mason-lspconfig/server_configurations/bsl_ls/init.lua @@ -1,12 +1,5 @@ -local path = require "mason-core.path" - ----@param install_dir string -return function(install_dir) +return function() return { - cmd = { - "java", - "-jar", - path.concat { install_dir, "bsl-lsp.jar" }, - }, + cmd = { "bsl-language-server" }, } end diff --git a/lua/mason-lspconfig/server_configurations/elixirls/init.lua b/lua/mason-lspconfig/server_configurations/elixirls/init.lua index afad677b..0c424b18 100644 --- a/lua/mason-lspconfig/server_configurations/elixirls/init.lua +++ b/lua/mason-lspconfig/server_configurations/elixirls/init.lua @@ -1,15 +1,5 @@ -local path = require "mason-core.path" -local platform = require "mason-core.platform" - ----@param install_dir string -return function(install_dir) +return function() return { - cmd = { - path.concat { - install_dir, - "elixir-ls", - platform.is_win and "language_server.bat" or "language_server.sh", - }, - }, + cmd = { "elixir-ls" }, } end diff --git a/lua/mason-lspconfig/server_configurations/esbonio/init.lua b/lua/mason-lspconfig/server_configurations/esbonio/init.lua index 998c5594..e9d8d988 100644 --- a/lua/mason-lspconfig/server_configurations/esbonio/init.lua +++ b/lua/mason-lspconfig/server_configurations/esbonio/init.lua @@ -1,5 +1,4 @@ ----@param install_dir string -return function(install_dir) +return function() return { cmd = { "esbonio" }, } diff --git a/lua/mason-lspconfig/server_configurations/groovyls/init.lua b/lua/mason-lspconfig/server_configurations/groovyls/init.lua index a4cb61cb..495c7592 100644 --- a/lua/mason-lspconfig/server_configurations/groovyls/init.lua +++ b/lua/mason-lspconfig/server_configurations/groovyls/init.lua @@ -1,8 +1,3 @@ -local path = require "mason-core.path" - ----@param install_dir string -return function(install_dir) - return { - cmd = { "java", "-jar", path.concat { install_dir, "build", "libs", "groovyls-all.jar" } }, - } +return function() + return { cmd = "groovy-language-server" } end diff --git a/lua/mason-lspconfig/server_configurations/haxe_language_server/init.lua b/lua/mason-lspconfig/server_configurations/haxe_language_server/init.lua deleted file mode 100644 index ed1cd4bc..00000000 --- a/lua/mason-lspconfig/server_configurations/haxe_language_server/init.lua +++ /dev/null @@ -1,8 +0,0 @@ -local path = require "mason-core.path" - ----@param install_dir string -return function(install_dir) - return { - cmd = { "node", path.concat { install_dir, "bin", "server.js" } }, - } -end diff --git a/lua/mason-lspconfig/server_configurations/perlnavigator/init.lua b/lua/mason-lspconfig/server_configurations/perlnavigator/init.lua index 5f21d32c..c376dc77 100644 --- a/lua/mason-lspconfig/server_configurations/perlnavigator/init.lua +++ b/lua/mason-lspconfig/server_configurations/perlnavigator/init.lua @@ -1,12 +1,5 @@ -local path = require "mason-core.path" - ----@param install_dir string -return function(install_dir) +return function() return { - cmd = { - "node", - path.concat { install_dir, "node_modules", "perlnavigator-server", "out", "server.js" }, - "--stdio", - }, + cmd = { "perlnavigator", "--stdio" }, } end diff --git a/lua/mason-lspconfig/server_configurations/r_language_server/init.lua b/lua/mason-lspconfig/server_configurations/r_language_server/init.lua index 3f7f413e..84b004c5 100644 --- a/lua/mason-lspconfig/server_configurations/r_language_server/init.lua +++ b/lua/mason-lspconfig/server_configurations/r_language_server/init.lua @@ -1,8 +1,5 @@ -local path = require "mason-core.path" - ----@param install_dir string -return function(install_dir) +return function() return { - cmd = { "R", "--slave", "-f", path.concat { install_dir, "server.R" } }, + cmd = { "r-languageserver" }, } end diff --git a/lua/mason-lspconfig/server_configurations/rescriptls/init.lua b/lua/mason-lspconfig/server_configurations/rescriptls/init.lua index 4a605bbf..2f55cc30 100644 --- a/lua/mason-lspconfig/server_configurations/rescriptls/init.lua +++ b/lua/mason-lspconfig/server_configurations/rescriptls/init.lua @@ -1,8 +1,5 @@ -local path = require "mason-core.path" - ----@param install_dir string -return function(install_dir) +return function() return { - cmd = { "node", path.concat { install_dir, "extension", "server", "out", "server.js" }, "--stdio" }, + cmd = { "rescript-lsp", "--stdio" }, } end diff --git a/lua/mason-lspconfig/server_configurations/visualforce_ls/init.lua b/lua/mason-lspconfig/server_configurations/visualforce_ls/init.lua index 33485da3..7d4c0ec3 100644 --- a/lua/mason-lspconfig/server_configurations/visualforce_ls/init.lua +++ b/lua/mason-lspconfig/server_configurations/visualforce_ls/init.lua @@ -1,21 +1,5 @@ -local path = require "mason-core.path" - ----@param install_dir string -return function(install_dir) +return function() return { - cmd = { - "node", - path.concat { - install_dir, - "extension", - "node_modules", - "@salesforce", - "salesforcedx-visualforce-language-server", - "out", - "src", - "visualforceServer.js", - }, - "--stdio", - }, + cmd = { "visualforce-language-server", "--stdio" }, } end 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, } |
