aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/lua/mason-scripts/templates/parse_commit.lua
blob: 2f7e7358ae6c5ba8f8009bca1b2fd4db44618736 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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,
}