26 lines
840 B
Lua
26 lines
840 B
Lua
local function auto_install()
|
|
local config = require("mason-conform").config
|
|
local mapping = require("mason-conform.mapping")
|
|
local install = require("mason-conform.install")
|
|
|
|
local ignored = {}
|
|
for _, name in ipairs(config.ignore_install) do
|
|
ignored[name] = true
|
|
end
|
|
|
|
for _, name in ipairs(require("mason-conform.formatters").configured()) do
|
|
if not ignored[name] then
|
|
local package = mapping.conform_to_package[name]
|
|
if package ~= nil then
|
|
install.try_install(package)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
---Refresh the mason registry, then install every configured formatter that is
|
|
---missing. Returns immediately; installation happens on the main loop.
|
|
return function()
|
|
require("mason-registry").refresh(vim.schedule_wrap(auto_install))
|
|
end
|