From a761c1f451efb660e96b3668297ed7e92421863d Mon Sep 17 00:00:00 2001 From: William Boman Date: Thu, 1 Sep 2022 22:38:11 +0200 Subject: feat: add luau-lsp (#366) --- lua/mason-registry/index.lua | 1 + lua/mason-registry/luau-lsp/init.lua | 30 ++++++++++++++++++++++++++++++ lua/mason/mappings/language.lua | 1 + 3 files changed, 32 insertions(+) create mode 100644 lua/mason-registry/luau-lsp/init.lua (limited to 'lua') diff --git a/lua/mason-registry/index.lua b/lua/mason-registry/index.lua index 03da9e3c..93e9a754 100644 --- a/lua/mason-registry/index.lua +++ b/lua/mason-registry/index.lua @@ -110,6 +110,7 @@ return { ["lua-language-server"] = "mason-registry.lua-language-server", luacheck = "mason-registry.luacheck", luaformatter = "mason-registry.luaformatter", + ["luau-lsp"] = "mason-registry.luau-lsp", markdownlint = "mason-registry.markdownlint", marksman = "mason-registry.marksman", ["metamath-zero-lsp"] = "mason-registry.metamath-zero-lsp", diff --git a/lua/mason-registry/luau-lsp/init.lua b/lua/mason-registry/luau-lsp/init.lua new file mode 100644 index 00000000..94324271 --- /dev/null +++ b/lua/mason-registry/luau-lsp/init.lua @@ -0,0 +1,30 @@ +local Pkg = require "mason-core.package" +local platform = require "mason-core.platform" +local _ = require "mason-core.functional" +local github = require "mason-core.managers.github" + +local coalesce, when = _.coalesce, _.when + +return Pkg.new { + name = "luau-lsp", + desc = [[An implementation of a language server for the Luau programming language.]], + languages = { Pkg.Lang.Luau }, + categories = { Pkg.Cat.LSP }, + homepage = "https://github.com/JohnnyMorganz/luau-lsp", + ---@async + ---@param ctx InstallContext + install = function(ctx) + github + .unzip_release_file({ + repo = "JohnnyMorganz/luau-lsp", + asset_file = coalesce( + when(platform.is.mac, "luau-lsp-macos.zip"), + when(platform.is.linux_x64, "luau-lsp-linux.zip"), + when(platform.is.win_x64, "luau-lsp-win64.zip") + ), + }) + .with_receipt() + + ctx:link_bin("luau-lsp", platform.is.win and "luau-lsp.exe" or "luau-lsp") + end, +} diff --git a/lua/mason/mappings/language.lua b/lua/mason/mappings/language.lua index 0359b739..53420278 100644 --- a/lua/mason/mappings/language.lua +++ b/lua/mason/mappings/language.lua @@ -64,6 +64,7 @@ return { less = { "css-lsp", "prettier", "prettierd" }, liquid = { "curlylint", "shopify-theme-check" }, lua = { "lemmy-help", "lua-language-server", "luacheck", "luaformatter", "selene", "stylua" }, + luau = { "luau-lsp" }, markdown = { "alex", "cbfmt", "grammarly-languageserver", "ltex-ls", "markdownlint", "marksman", "prettier", "prettierd", "proselint", "prosemd-lsp", "remark-language-server", "textlint", "vale", "write-good", "zk" }, ["metamath zero"] = { "metamath-zero-lsp" }, mksh = { "shfmt" }, -- cgit v1.2.3-70-g09d2