aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/lua/mason-scripts/mason/generate.lua13
-rw-r--r--scripts/lua/mason-scripts/mason/generate_package_index.lua24
-rw-r--r--scripts/lua/mason-scripts/templates/package-section.template.md8
-rw-r--r--scripts/lua/mason-scripts/templates/parse_commit.lua16
4 files changed, 12 insertions, 49 deletions
diff --git a/scripts/lua/mason-scripts/mason/generate.lua b/scripts/lua/mason-scripts/mason/generate.lua
index 48459fe2..8d99c717 100644
--- a/scripts/lua/mason-scripts/mason/generate.lua
+++ b/scripts/lua/mason-scripts/mason/generate.lua
@@ -9,6 +9,9 @@ local MASON_REGISTRY_DIR = path.concat { vim.loop.cwd(), "lua", "mason-registry"
---@async
local function create_language_map()
local registry = require "mason-registry"
+ require("mason-registry").set_registries {
+ "lua:mason-registry.index",
+ }
print "Creating language map…"
local indexed_languages = {}
local language_map = {}
@@ -42,7 +45,7 @@ local function create_package_index()
print "Creating package index…"
local packages = {}
local to_lua_path = _.compose(_.gsub("/", "."), _.gsub("^lua/", ""))
- for _, package_path in ipairs(vim.fn.glob("lua/mason-registry/*/init.lua", false, true)) do
+ for _, package_path in ipairs(vim.fn.glob("lua/mason-registry/index/*/init.lua", false, true)) do
local package_filename = vim.fn.fnamemodify(package_path, ":h:t")
local lua_path = to_lua_path(vim.fn.fnamemodify(package_path, ":h"))
local pkg = require(lua_path)
@@ -50,12 +53,14 @@ local function create_package_index()
packages[pkg.name] = lua_path
end
- script_utils.write_file(path.concat { MASON_REGISTRY_DIR, "index.lua" }, "return " .. vim.inspect(packages), "w")
+ script_utils.write_file(
+ path.concat { MASON_REGISTRY_DIR, "index", "init.lua" },
+ "return " .. vim.inspect(packages),
+ "w"
+ )
end
a.run_blocking(function()
create_package_index()
- package.loaded["mason-registry"] = nil
- package.loaded["mason-registry.index"] = nil
create_language_map()
end)
diff --git a/scripts/lua/mason-scripts/mason/generate_package_index.lua b/scripts/lua/mason-scripts/mason/generate_package_index.lua
index a3734b66..6b3f9864 100644
--- a/scripts/lua/mason-scripts/mason/generate_package_index.lua
+++ b/scripts/lua/mason-scripts/mason/generate_package_index.lua
@@ -1,34 +1,16 @@
local a = require "mason-core.async"
-local control = require "mason-core.async.control"
-local path = require "mason-core.path"
local _ = require "mason-core.functional"
local script_utils = require "mason-scripts.utils"
local markdown = require "mason-scripts.markdown"
-local spawn = require "mason-core.spawn"
-
-local Semaphore = control.Semaphore
---@async
local function create_markdown_index()
local registry = require "mason-registry"
+ require("mason-registry").set_registries {
+ "lua:mason-registry.index",
+ }
print "Creating markdown index…"
local packages = _.sort_by(_.prop "name", registry.get_all_packages())
- local sem = Semaphore.new(10)
-
- a.wait_all(_.map(function(pkg)
- return function()
- local permit = sem:acquire()
- local history = spawn.git {
- "log",
- "--format=%h\t%cd\t%an\t%s",
- "--date=short",
- "--",
- path.concat { "lua", "mason-registry", pkg.name, "init.lua" },
- }
- permit:forget()
- pkg.history = _.split("\n", _.trim(history:get_or_throw().stdout))
- end
- end, packages))
script_utils.write_file(
"PACKAGES.md",
diff --git a/scripts/lua/mason-scripts/templates/package-section.template.md b/scripts/lua/mason-scripts/templates/package-section.template.md
index f772c812..745c6099 100644
--- a/scripts/lua/mason-scripts/templates/package-section.template.md
+++ b/scripts/lua/mason-scripts/templates/package-section.template.md
@@ -1,5 +1,3 @@
-{# include "parse_commit" #}
-
# {{ name }}
> {{ spec.desc }}
@@ -8,12 +6,6 @@ Homepage: {% url(spec.homepage) %}
Languages: {% join(each(spec.languages, wrap "`")) " " %}
Categories: {% join(each(spec.categories, wrap "`")) " " %}
-<details>
- <summary>History:</summary>
-
-{% list(each(history, parse_commit)) %}
-</details>
-
```
:MasonInstall {{ name }}
```
diff --git a/scripts/lua/mason-scripts/templates/parse_commit.lua b/scripts/lua/mason-scripts/templates/parse_commit.lua
deleted file mode 100644
index 2f7e7358..00000000
--- a/scripts/lua/mason-scripts/templates/parse_commit.lua
+++ /dev/null
@@ -1,16 +0,0 @@
-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,
-}