From 1e3c60c46ab32416df56e7c19b4475afd5abe186 Mon Sep 17 00:00:00 2001 From: William Boman Date: Fri, 22 Jul 2022 18:26:23 +0200 Subject: feat: add luaformatter (#116) Co-authored-by: Ali Shahid --- lua/mason-core/managers/luarocks/init.lua | 5 +++-- lua/mason-registry/index.lua | 1 + lua/mason-registry/luaformatter/init.lua | 14 ++++++++++++++ lua/mason/mappings/language.lua | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 lua/mason-registry/luaformatter/init.lua (limited to 'lua') 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" }, -- cgit v1.2.3-70-g09d2