From 160bd7c2144285cb089bf11aab577e87d5cff6b2 Mon Sep 17 00:00:00 2001 From: Seth Daniel Date: Thu, 12 Jan 2023 03:56:24 -0600 Subject: feat(registry): add glow (#886) --- lua/mason-registry/glow/init.lua | 47 ++++++++++++++++++++++++++++++++++++++++ lua/mason-registry/index.lua | 1 + lua/mason/mappings/language.lua | 2 +- 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 lua/mason-registry/glow/init.lua (limited to 'lua') diff --git a/lua/mason-registry/glow/init.lua b/lua/mason-registry/glow/init.lua new file mode 100644 index 00000000..0ef1c2db --- /dev/null +++ b/lua/mason-registry/glow/init.lua @@ -0,0 +1,47 @@ +local Pkg = require "mason-core.package" +local _ = require "mason-core.functional" +local platform = require "mason-core.platform" +local github = require "mason-core.managers.github" +local path = require "mason-core.path" + +local coalesce, when = _.coalesce, _.when + +return Pkg.new { + name = "glow", + desc = [[Render markdown on the CLI, with pizzazz]], + homepage = "https://github.com/charmbracelet/glow", + languages = { Pkg.Lang.Markdown }, + categories = {}, + install = function(ctx) + ---@param template_string string + local function release_file(template_string) + return _.compose(_.format(template_string), _.gsub("^v", "")) + end + local asset_file = coalesce( + when(platform.is.mac_arm64, release_file "glow_%s_Darwin_arm64.tar.gz"), + when(platform.is.mac_x64, release_file "glow_%s_Darwin_x86_64.tar.gz"), + when(platform.is.linux_x64_openbsd, release_file "glow_%s_openbsd_x86_64.tar.gz"), + when(platform.is.linux_arm64_openbsd, release_file "glow_%s_openbsd_arm64.tar.gz"), + when(platform.is.linux_arm64, release_file "glow_%s_linux_arm64.tar.gz"), + when(platform.is.linux_x64, release_file "glow_%s_linux_x86_64.tar.gz"), + when(platform.is.win_x86, release_file "glow_%s_Windows_i386.zip"), + when(platform.is.win_x64, release_file "glow_%s_Windows_x86_64.zip") + ) + local source = platform.when { + unix = function() + return github.untargz_release_file { + repo = "charmbracelet/glow", + asset_file = asset_file, + } + end, + win = function() + return github.unzip_release_file { + repo = "charmbracelet/glow", + asset_file = asset_file, + } + end, + } + source.with_receipt() + ctx:link_bin("glow", platform.is.win and "glow.exe" or "glow") + end, +} diff --git a/lua/mason-registry/index.lua b/lua/mason-registry/index.lua index 59e23b49..204e89e7 100644 --- a/lua/mason-registry/index.lua +++ b/lua/mason-registry/index.lua @@ -86,6 +86,7 @@ return { gersemi = "mason-registry.gersemi", gitlint = "mason-registry.gitlint", glint = "mason-registry.glint", + glow = "mason-registry.glow", ["go-debug-adapter"] = "mason-registry.go-debug-adapter", gofumpt = "mason-registry.gofumpt", goimports = "mason-registry.goimports", diff --git a/lua/mason/mappings/language.lua b/lua/mason/mappings/language.lua index a836b4ed..81675247 100644 --- a/lua/mason/mappings/language.lua +++ b/lua/mason/mappings/language.lua @@ -74,7 +74,7 @@ return { liquid = { "curlylint", "shopify-theme-check" }, lua = { "lemmy-help", "lua-language-server", "luacheck", "luaformatter", "selene", "stylua" }, luau = { "luau-lsp", "selene", "stylua" }, - markdown = { "alex", "cbfmt", "grammarly-languageserver", "ltex-ls", "markdownlint", "marksman", "prettier", "prettierd", "proselint", "prosemd-lsp", "remark-cli", "remark-language-server", "textlint", "vale", "write-good", "zk" }, + markdown = { "alex", "cbfmt", "glow", "grammarly-languageserver", "ltex-ls", "markdownlint", "marksman", "prettier", "prettierd", "proselint", "prosemd-lsp", "remark-cli", "remark-language-server", "textlint", "vale", "write-good", "zk" }, ["metamath zero"] = { "metamath-zero-lsp" }, mksh = { "shfmt" }, move = { "move-analyzer" }, -- cgit v1.2.3-70-g09d2