aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-07-22 18:26:23 +0200
committerGitHub <noreply@github.com>2022-07-22 18:26:23 +0200
commit1e3c60c46ab32416df56e7c19b4475afd5abe186 (patch)
tree215da41bcebcb3b81984a393341e7f74844393dc /lua
parentdocs: fixup the mason.txt help (#115) (diff)
downloadmason-1e3c60c46ab32416df56e7c19b4475afd5abe186.tar
mason-1e3c60c46ab32416df56e7c19b4475afd5abe186.tar.gz
mason-1e3c60c46ab32416df56e7c19b4475afd5abe186.tar.bz2
mason-1e3c60c46ab32416df56e7c19b4475afd5abe186.tar.lz
mason-1e3c60c46ab32416df56e7c19b4475afd5abe186.tar.xz
mason-1e3c60c46ab32416df56e7c19b4475afd5abe186.tar.zst
mason-1e3c60c46ab32416df56e7c19b4475afd5abe186.zip
feat: add luaformatter (#116)
Co-authored-by: Ali Shahid <canttell@gmail>
Diffstat (limited to 'lua')
-rw-r--r--lua/mason-core/managers/luarocks/init.lua5
-rw-r--r--lua/mason-registry/index.lua1
-rw-r--r--lua/mason-registry/luaformatter/init.lua14
-rw-r--r--lua/mason/mappings/language.lua2
4 files changed, 19 insertions, 3 deletions
diff --git a/lua/mason-core/managers/luarocks/init.lua b/lua/mason-core/managers/luarocks/init.lua
index 0deb2e1f..9fd59ca1 100644
--- a/lua/mason-core/managers/luarocks/init.lua
+++ b/lua/mason-core/managers/luarocks/init.lua
@@ -21,7 +21,7 @@ local function with_receipt(package)
end
---@param package string: The luarock package to install.
----@param opts { dev: boolean, bin : string[] | nil } | nil
+---@param opts { dev: boolean?, server: string?, bin : string[]? | nil }?
function M.package(package, opts)
return function()
return M.install(package, opts).with_receipt()
@@ -30,7 +30,7 @@ end
---@async
---@param pkg string: The luarock package to install.
----@param opts { dev: boolean, bin : string[] | nil } | nil
+---@param opts { dev: boolean?, server: string?, bin : string[]? | nil }?
function M.install(pkg, opts)
opts = opts or {}
local ctx = installer.context()
@@ -40,6 +40,7 @@ function M.install(pkg, opts)
"--tree",
ctx.cwd:get(),
opts.dev and "--dev" or vim.NIL,
+ opts.server and ("--server=%s"):format(opts.server) or vim.NIL,
pkg,
ctx.requested_version:or_else(vim.NIL),
}
diff --git a/lua/mason-registry/index.lua b/lua/mason-registry/index.lua
index 22419eba..e9d8073f 100644
--- a/lua/mason-registry/index.lua
+++ b/lua/mason-registry/index.lua
@@ -84,6 +84,7 @@ return {
["ltex-ls"] = "mason-registry.ltex-ls",
["lua-language-server"] = "mason-registry.lua-language-server",
luacheck = "mason-registry.luacheck",
+ luaformatter = "mason-registry.luaformatter",
markdownlint = "mason-registry.markdownlint",
marksman = "mason-registry.marksman",
["metamath-zero-lsp"] = "mason-registry.metamath-zero-lsp",
diff --git a/lua/mason-registry/luaformatter/init.lua b/lua/mason-registry/luaformatter/init.lua
new file mode 100644
index 00000000..f4e4c888
--- /dev/null
+++ b/lua/mason-registry/luaformatter/init.lua
@@ -0,0 +1,14 @@
+local Pkg = require "mason-core.package"
+local luarocks = require "mason-core.managers.luarocks"
+
+return Pkg.new {
+ name = "luaformatter",
+ desc = [[Code formatter for Lua]],
+ homepage = "https://github.com/Koihik/LuaFormatter",
+ languages = { Pkg.Lang.Lua },
+ categories = { Pkg.Cat.Formatter },
+ install = luarocks.package("luaformatter", {
+ server = "https://luarocks.org/dev",
+ bin = { "lua-format" },
+ }),
+}
diff --git a/lua/mason/mappings/language.lua b/lua/mason/mappings/language.lua
index dc8beab1..9aa8f822 100644
--- a/lua/mason/mappings/language.lua
+++ b/lua/mason/mappings/language.lua
@@ -58,7 +58,7 @@ return {
lelwel = { "lelwel" },
less = { "css-lsp", "prettier" },
liquid = { "shopify-theme-check" },
- lua = { "lemmy-help", "lua-language-server", "luacheck", "stylua" },
+ lua = { "lemmy-help", "lua-language-server", "luacheck", "luaformatter", "stylua" },
markdown = { "grammarly-languageserver", "ltex-ls", "markdownlint", "marksman", "prettier", "prosemd-lsp", "remark-language-server", "zk" },
["metamath zero"] = { "metamath-zero-lsp" },
mksh = { "shfmt" },