feat!: renamed Plugin.run => Plugin.build

This commit is contained in:
Folke Lemaitre 2022-12-01 07:43:28 +01:00
parent ec4199bada
commit 042aaa4f87
No known key found for this signature in database
GPG Key ID: 41F8B1FBACAE2040
4 changed files with 15 additions and 13 deletions

View File

@ -24,10 +24,12 @@
## ✅ TODO
- [ ] health checks: check merge conflicts async
- [ ] unsupported props or props from other managers
- [x] rename `run` to `build`
- [ ] allow setting up plugins through config
- [x] task timeout
- [ ] log file
- [ ] deal with resourcing init.lua. Check a global?
- [ ] deal with re-sourcing init.lua. Check a global?
- [x] incorrect when switching TN from opt to start
- [ ] git tests
- [x] max concurrency

View File

@ -8,7 +8,7 @@ local M = {}
---@class LazyPluginHooks
---@field init? fun(LazyPlugin) Will always be run
---@field config? fun(LazyPlugin) Will be executed when loading the plugin
---@field run? string|fun()
---@field build? string|fun(LazyPlugin)
---@class LazyPluginState
---@field loaded? {[string]:string, time:number}

View File

@ -59,7 +59,7 @@ function M.install(opts)
"git.checkout",
"plugin.docs",
"wait",
"plugin.run",
"plugin.build",
},
plugins = function(plugin)
return plugin.uri and not plugin._.installed
@ -78,7 +78,7 @@ function M.update(opts)
{ "git.checkout", lockfile = opts.lockfile },
"plugin.docs",
"wait",
"plugin.run",
"plugin.build",
{ "git.log", updated = true },
},
plugins = function(plugin)

View File

@ -4,22 +4,22 @@ local Loader = require("lazy.core.loader")
---@type table<string, LazyTaskDef>
local M = {}
M.run = {
M.build = {
skip = function(plugin)
return not (plugin._.dirty and (plugin.opt == false or plugin.run))
return not (plugin._.dirty and (plugin.opt == false or plugin.build))
end,
run = function(self)
Loader.load(self.plugin, { task = "run" }, { load_start = true })
local run = self.plugin.run
if run then
if type(run) == "string" and run:sub(1, 1) == ":" then
local cmd = vim.api.nvim_parse_cmd(run:sub(2), {})
local build = self.plugin.build
if build then
if type(build) == "string" and build:sub(1, 1) == ":" then
local cmd = vim.api.nvim_parse_cmd(build:sub(2), {})
self.output = vim.api.nvim_cmd(cmd, { output = true })
elseif type(run) == "function" then
run()
elseif type(build) == "function" then
build()
else
local args = vim.split(run, "%s+")
local args = vim.split(build, "%s+")
return self:spawn(table.remove(args, 1), {
args = args,
cwd = self.plugin.dir,