aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/mason-registry/index.lua2
-rw-r--r--lua/mason-registry/java-debug-adapter/init.lua25
-rw-r--r--lua/mason-registry/java-test/init.lua37
-rw-r--r--lua/mason/mappings/language.lua2
4 files changed, 65 insertions, 1 deletions
diff --git a/lua/mason-registry/index.lua b/lua/mason-registry/index.lua
index 0c7fd59c..a693237c 100644
--- a/lua/mason-registry/index.lua
+++ b/lua/mason-registry/index.lua
@@ -97,6 +97,8 @@ return {
impl = "mason-registry.impl",
intelephense = "mason-registry.intelephense",
isort = "mason-registry.isort",
+ ["java-debug-adapter"] = "mason-registry.java-debug-adapter",
+ ["java-test"] = "mason-registry.java-test",
jdtls = "mason-registry.jdtls",
["jedi-language-server"] = "mason-registry.jedi-language-server",
joker = "mason-registry.joker",
diff --git a/lua/mason-registry/java-debug-adapter/init.lua b/lua/mason-registry/java-debug-adapter/init.lua
new file mode 100644
index 00000000..923804be
--- /dev/null
+++ b/lua/mason-registry/java-debug-adapter/init.lua
@@ -0,0 +1,25 @@
+local Pkg = require "mason-core.package"
+local github = require "mason-core.managers.github"
+local _ = require "mason-core.functional"
+local path = require "mason-core.path"
+
+return Pkg.new {
+ name = "java-debug-adapter",
+ desc = [[The debug server implementation for Java. It conforms to the debugger adapter protocol.]],
+ homepage = "https://github.com/microsoft/java-debug",
+ languages = { Pkg.Lang.Java },
+ categories = { Pkg.Cat.DAP },
+ ---@async
+ ---@param ctx InstallContext
+ install = function(ctx)
+ github
+ .unzip_release_file({
+ repo = "microsoft/vscode-java-debug",
+ asset_file = _.format "vscjava.vscode-java-debug-%s.vsix",
+ })
+ .with_receipt()
+
+ ctx.fs:rmrf(path.concat { "extension", "images" })
+ ctx.fs:rmrf(path.concat { "extension", "dist" })
+ end,
+}
diff --git a/lua/mason-registry/java-test/init.lua b/lua/mason-registry/java-test/init.lua
new file mode 100644
index 00000000..6366572d
--- /dev/null
+++ b/lua/mason-registry/java-test/init.lua
@@ -0,0 +1,37 @@
+local Pkg = require "mason-core.package"
+local github = require "mason-core.managers.github"
+local _ = require "mason-core.functional"
+local path = require "mason-core.path"
+
+return Pkg.new {
+ name = "java-test",
+ desc = _.dedent [[
+ The Test Runner for Java works with java-debug-adapter to provide the following features:
+ - Run/Debug test cases
+ - Customize test configurations
+ - View test report
+ - View tests in Test Explorer
+
+ Enables support for the following test frameworks:
+
+ - JUnit 4 (v4.8.0+)
+ - JUnit 5 (v5.1.0+)
+ - TestNG (v6.8.0+)
+ ]],
+ homepage = "https://github.com/microsoft/vscode-java-test",
+ languages = { Pkg.Lang.Java },
+ categories = { Pkg.Cat.DAP },
+ ---@async
+ ---@param ctx InstallContext
+ install = function(ctx)
+ github
+ .unzip_release_file({
+ repo = "microsoft/vscode-java-test",
+ asset_file = _.format "vscjava.vscode-java-test-%s.vsix",
+ })
+ .with_receipt()
+
+ ctx.fs:rmrf(path.concat { "extension", "resources" })
+ ctx.fs:rmrf(path.concat { "extension", "dist" })
+ end,
+}
diff --git a/lua/mason/mappings/language.lua b/lua/mason/mappings/language.lua
index edef612b..2ba87fe5 100644
--- a/lua/mason/mappings/language.lua
+++ b/lua/mason/mappings/language.lua
@@ -52,7 +52,7 @@ return {
haxe = { "haxe-language-server" },
hoon = { "hoon-language-server" },
html = { "erb-lint", "html-lsp", "prettier", "prettierd" },
- java = { "clang-format", "jdtls" },
+ java = { "clang-format", "java-debug-adapter", "java-test", "jdtls" },
javascript = { "chrome-debug-adapter", "clang-format", "deno", "eslint-lsp", "eslint_d", "firefox-debug-adapter", "js-debug-adapter", "node-debug2-adapter", "prettier", "prettierd", "quick-lint-js", "rome", "typescript-language-server", "xo" },
jinja = { "curlylint", "djlint" },
json = { "cfn-lint", "clang-format", "fixjson", "jq", "json-lsp", "prettier", "prettierd", "spectral-language-server" },