aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorshurizzle <shura1991@gmail.com>2022-12-12 06:17:24 +0100
committerGitHub <noreply@github.com>2022-12-12 06:17:24 +0100
commit67e9cf8efc1ef40f47ea853cdf351709ec8b7c3d (patch)
treedfc9651d98ea3f41d556a718a9d59c92b3e8183c /lua
parentfeat: add kotlin-debug-adapter package (#749) (diff)
downloadmason-67e9cf8efc1ef40f47ea853cdf351709ec8b7c3d.tar
mason-67e9cf8efc1ef40f47ea853cdf351709ec8b7c3d.tar.gz
mason-67e9cf8efc1ef40f47ea853cdf351709ec8b7c3d.tar.bz2
mason-67e9cf8efc1ef40f47ea853cdf351709ec8b7c3d.tar.lz
mason-67e9cf8efc1ef40f47ea853cdf351709ec8b7c3d.tar.xz
mason-67e9cf8efc1ef40f47ea853cdf351709ec8b7c3d.tar.zst
mason-67e9cf8efc1ef40f47ea853cdf351709ec8b7c3d.zip
feat(registry): add fourmolu (#752)
Diffstat (limited to 'lua')
-rw-r--r--lua/mason-registry/fourmolu/init.lua32
-rw-r--r--lua/mason-registry/index.lua1
-rw-r--r--lua/mason/mappings/language.lua2
3 files changed, 34 insertions, 1 deletions
diff --git a/lua/mason-registry/fourmolu/init.lua b/lua/mason-registry/fourmolu/init.lua
new file mode 100644
index 00000000..11252901
--- /dev/null
+++ b/lua/mason-registry/fourmolu/init.lua
@@ -0,0 +1,32 @@
+local Pkg = require "mason-core.package"
+local github = require "mason-core.managers.github"
+local _ = require "mason-core.functional"
+local platform = require "mason-core.platform"
+local std = require "mason-core.managers.std"
+
+return Pkg.new {
+ name = "fourmolu",
+ desc = [[A fork of Ormolu that uses four space indentation and allows arbitrary configuration.]],
+ homepage = "https://hackage.haskell.org/package/fourmolu",
+ languages = { Pkg.Lang.Haskell },
+ categories = { Pkg.Cat.Formatter },
+ ---@async
+ ---@param ctx InstallContext
+ install = function(ctx)
+ github
+ .download_release_file({
+ repo = "fourmolu/fourmolu",
+ out_file = "fourmolu",
+ asset_file = function(version)
+ local target = _.coalesce(
+ _.when(platform.is.mac_x64, "fourmolu-%s-osx-x86_64"),
+ _.when(platform.is.linux_x64_gnu, "fourmolu-%s-linux-x86_64")
+ )
+ return target and target:format(version:gsub("^v", ""))
+ end,
+ })
+ .with_receipt()
+ std.chmod("+x", { "fourmolu" })
+ ctx:link_bin("fourmolu", "fourmolu")
+ end,
+}
diff --git a/lua/mason-registry/index.lua b/lua/mason-registry/index.lua
index 27076e4a..ba8234bb 100644
--- a/lua/mason-registry/index.lua
+++ b/lua/mason-registry/index.lua
@@ -80,6 +80,7 @@ return {
["flux-lsp"] = "mason-registry.flux-lsp",
["foam-language-server"] = "mason-registry.foam-language-server",
fortls = "mason-registry.fortls",
+ fourmolu = "mason-registry.fourmolu",
fsautocomplete = "mason-registry.fsautocomplete",
gersemi = "mason-registry.gersemi",
gitlint = "mason-registry.gitlint",
diff --git a/lua/mason/mappings/language.lua b/lua/mason/mappings/language.lua
index c8d5a7dd..d12bc7b9 100644
--- a/lua/mason/mappings/language.lua
+++ b/lua/mason/mappings/language.lua
@@ -54,7 +54,7 @@ return {
haml = { "haml-lint" },
handlebargs = { "djlint" },
handlebars = { "glint" },
- haskell = { "haskell-language-server" },
+ haskell = { "fourmolu", "haskell-language-server" },
haxe = { "haxe-language-server" },
hoon = { "hoon-language-server" },
html = { "erb-lint", "html-lsp", "prettier", "prettierd" },