aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-07-07 17:15:35 +0200
committerGitHub <noreply@github.com>2022-07-07 17:15:35 +0200
commit234cbfe7879dc66c25513713f89fbbe840fd68ca (patch)
tree2e7e8d5907a2ad8e19d2332a325c36f0cbf2fe79 /lua
parentfeat: add delve and go-debug-adapter (#7) (diff)
downloadmason-234cbfe7879dc66c25513713f89fbbe840fd68ca.tar
mason-234cbfe7879dc66c25513713f89fbbe840fd68ca.tar.gz
mason-234cbfe7879dc66c25513713f89fbbe840fd68ca.tar.bz2
mason-234cbfe7879dc66c25513713f89fbbe840fd68ca.tar.lz
mason-234cbfe7879dc66c25513713f89fbbe840fd68ca.tar.xz
mason-234cbfe7879dc66c25513713f89fbbe840fd68ca.tar.zst
mason-234cbfe7879dc66c25513713f89fbbe840fd68ca.zip
feat: add ktlint (#8)
Diffstat (limited to 'lua')
-rw-r--r--lua/mason/_generated/package_index.lua1
-rw-r--r--lua/mason/packages/ktlint/init.lua38
2 files changed, 39 insertions, 0 deletions
diff --git a/lua/mason/_generated/package_index.lua b/lua/mason/_generated/package_index.lua
index 55323c26..a1b36015 100644
--- a/lua/mason/_generated/package_index.lua
+++ b/lua/mason/_generated/package_index.lua
@@ -63,6 +63,7 @@ return {
["jsonnet-language-server"] = "mason.packages.jsonnet-language-server",
["julia-lsp"] = "mason.packages.julia-lsp",
["kotlin-language-server"] = "mason.packages.kotlin-language-server",
+ ktlint = "mason.packages.ktlint",
lelwel = "mason.packages.lelwel",
lemminx = "mason.packages.lemminx",
["lemmy-help"] = "mason.packages.lemmy-help",
diff --git a/lua/mason/packages/ktlint/init.lua b/lua/mason/packages/ktlint/init.lua
new file mode 100644
index 00000000..1af3bf6d
--- /dev/null
+++ b/lua/mason/packages/ktlint/init.lua
@@ -0,0 +1,38 @@
+local Pkg = require "mason.core.package"
+local github = require "mason.core.managers.github"
+local std = require "mason.core.managers.std"
+local path = require "mason.core.path"
+local platform = require "mason.core.platform"
+
+return Pkg.new {
+ name = "ktlint",
+ desc = [[An anti-bikeshedding Kotlin linter with built-in formatter]],
+ homepage = "https://github.com/pinterest/ktlint",
+ languages = { Pkg.Lang.Kotlin },
+ categories = { Pkg.Cat.Formatter, Pkg.Cat.Linter },
+ ---@async
+ ---@param ctx InstallContext
+ install = function(ctx)
+ github
+ .download_release_file({
+ repo = "pinterest/ktlint",
+ asset_file = "ktlint",
+ out_file = "ktlint",
+ })
+ .with_receipt()
+
+ platform.when {
+ unix = function()
+ std.chmod("+x", { "ktlint" })
+ ctx:link_bin("ktlint", "ktlint")
+ end,
+ win = function()
+ ctx:write_shell_exec_wrapper(
+ "ktlint",
+ ("java -jar %q"):format(path.concat { ctx.package:get_install_path(), "ktlint" })
+ )
+ ctx:link_bin("ktlint", "ktlint.cmd")
+ end,
+ }
+ end,
+}