From d1c860da4b89fd29a45decfb490c79748d954493 Mon Sep 17 00:00:00 2001 From: William Boman Date: Sun, 7 Aug 2022 18:31:20 +0200 Subject: feat: generate PACKAGES.md (#265) --- .../lua/mason-scripts/templates/PACKAGES.template.md | 11 +++++++++++ .../templates/package-section.template.md | 19 +++++++++++++++++++ scripts/lua/mason-scripts/templates/parse_commit.lua | 16 ++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 scripts/lua/mason-scripts/templates/PACKAGES.template.md create mode 100644 scripts/lua/mason-scripts/templates/package-section.template.md create mode 100644 scripts/lua/mason-scripts/templates/parse_commit.lua (limited to 'scripts/lua/mason-scripts/templates') diff --git a/scripts/lua/mason-scripts/templates/PACKAGES.template.md b/scripts/lua/mason-scripts/templates/PACKAGES.template.md new file mode 100644 index 00000000..c0b38280 --- /dev/null +++ b/scripts/lua/mason-scripts/templates/PACKAGES.template.md @@ -0,0 +1,11 @@ +# Mason Package Index +> `:Mason` + +{% list(each(packages, _.compose(link, _.prop("name")))) %} + +{% render_each(packages) "./package-section.template.md" %} +--- + +Last updated: {% last_updated %}
+[https://github.com/williamboman/mason.nvim](https://github.com/williamboman/mason.nvim) +
diff --git a/scripts/lua/mason-scripts/templates/package-section.template.md b/scripts/lua/mason-scripts/templates/package-section.template.md new file mode 100644 index 00000000..b71882f2 --- /dev/null +++ b/scripts/lua/mason-scripts/templates/package-section.template.md @@ -0,0 +1,19 @@ +{# include "parse_commit" #} + +# {{ name }} + +> {{ spec.desc }} + +Homepage: {% url(spec.homepage) %} +Languages: {% join(spec.languages) ", " %} +Categories: {% join(spec.categories) ", " %} + +
+ History: + +{% list(each(history, parse_commit)) %} +
+ +``` +:MasonInstall {{ name }} +``` diff --git a/scripts/lua/mason-scripts/templates/parse_commit.lua b/scripts/lua/mason-scripts/templates/parse_commit.lua new file mode 100644 index 00000000..2f7e7358 --- /dev/null +++ b/scripts/lua/mason-scripts/templates/parse_commit.lua @@ -0,0 +1,16 @@ +local _ = require "mason-core.functional" + +local linkify = _.gsub([[#(%d+)]], function(issue) + return ("[#%d](https://github.com/williamboman/mason.nvim/issues/%d)"):format(issue, issue) +end) + +return { + parse_commit = function(commit_str) + local commit = + _.compose(_.zip_table { "sha", "commit_date", "author_name", "subject" }, _.split "\t")(commit_str) + + return (_.dedent [[ + [`%s`](https://github.com/williamboman/mason.nvim/commit/%s) %s - %s by %s + ]]):format(commit.sha, commit.sha, commit.commit_date, linkify(commit.subject), commit.author_name) + end, +} -- cgit v1.2.3-70-g09d2