diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/mason-registry/google-java-format/init.lua | 33 | ||||
| -rw-r--r-- | lua/mason-registry/index.lua | 1 | ||||
| -rw-r--r-- | lua/mason/mappings/language.lua | 2 |
3 files changed, 35 insertions, 1 deletions
diff --git a/lua/mason-registry/google-java-format/init.lua b/lua/mason-registry/google-java-format/init.lua new file mode 100644 index 00000000..58cef182 --- /dev/null +++ b/lua/mason-registry/google-java-format/init.lua @@ -0,0 +1,33 @@ +local Pkg = require "mason-core.package" +local github = require "mason-core.managers.github" +local path = require "mason-core.path" + +return Pkg.new { + name = "google-java-format", + desc = [[google-java-format is a program that reformats Java source code to comply with Google Java Style.]], + homepage = "https://github.com/google/google-java-format", + languages = { Pkg.Lang.Java }, + categories = { Pkg.Cat.Formatter }, + ---@async + ---@param ctx InstallContext + install = function(ctx) + github + .download_release_file({ + repo = "google/google-java-format", + out_file = "google-java-format.jar", + asset_file = function(release) + local version = release:gsub("^v", "") + return ("google-java-format-%s-all-deps.jar"):format(version) + end, + }) + .with_receipt() + + ctx:link_bin( + "google-java-format", + ctx:write_shell_exec_wrapper( + "google-java-format", + ("java -jar %q"):format(path.concat { ctx.package:get_install_path(), "google-java-format.jar" }) + ) + ) + end, +} diff --git a/lua/mason-registry/index.lua b/lua/mason-registry/index.lua index a75bf331..3a5950d1 100644 --- a/lua/mason-registry/index.lua +++ b/lua/mason-registry/index.lua @@ -100,6 +100,7 @@ return { ["golangci-lint-langserver"] = "mason-registry.golangci-lint-langserver", golines = "mason-registry.golines", gomodifytags = "mason-registry.gomodifytags", + ["google-java-format"] = "mason-registry.google-java-format", gopls = "mason-registry.gopls", gotests = "mason-registry.gotests", gotestsum = "mason-registry.gotestsum", diff --git a/lua/mason/mappings/language.lua b/lua/mason/mappings/language.lua index 99ab98c2..0e283fac 100644 --- a/lua/mason/mappings/language.lua +++ b/lua/mason/mappings/language.lua @@ -60,7 +60,7 @@ return { haxe = { "haxe-language-server" }, hoon = { "hoon-language-server" }, html = { "erb-lint", "html-lsp", "prettier", "prettierd", "rustywind" }, - java = { "clang-format", "java-debug-adapter", "java-test", "jdtls", "semgrep" }, + java = { "clang-format", "google-java-format", "java-debug-adapter", "java-test", "jdtls", "semgrep" }, javascript = { "chrome-debug-adapter", "clang-format", "deno", "eslint-lsp", "eslint_d", "firefox-debug-adapter", "glint", "js-debug-adapter", "node-debug2-adapter", "prettier", "prettierd", "quick-lint-js", "rome", "rustywind", "semgrep", "typescript-language-server", "vtsls", "xo" }, jinja = { "curlylint", "djlint" }, jq = { "jq-lsp" }, |
