mirror of
https://github.com/folke/lazy.nvim.git
synced 2025-04-19 04:46:45 +00:00
feat(build): build can now be a list to execute multiple build commands. Fixes #143
This commit is contained in:
parent
593d6e400b
commit
9110371120
3 changed files with 42 additions and 42 deletions
|
@ -11,25 +11,25 @@ M.build = {
|
|||
run = function(self)
|
||||
Loader.load(self.plugin, { task = "build" })
|
||||
|
||||
-- we need to source its plugin files before startup,
|
||||
-- to make sure the build command has everything available
|
||||
Loader.source_runtime(self.plugin.dir, "plugin")
|
||||
local builders = self.plugin.build
|
||||
if builders then
|
||||
builders = type(builders) == "table" and builders or { builders }
|
||||
---@cast builders (string|fun(LazyPlugin))[]
|
||||
for _, build in ipairs(builders) do
|
||||
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(build) == "function" then
|
||||
build()
|
||||
else
|
||||
local shell = vim.env.SHELL or vim.o.shell
|
||||
local shell_args = shell:find("cmd.exe", 1, true) and "/c" or "-c"
|
||||
|
||||
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(build) == "function" then
|
||||
build()
|
||||
else
|
||||
local shell = vim.env.SHELL or vim.o.shell
|
||||
local shell_args = shell:find("cmd.exe", 1, true) and "/c" or "-c"
|
||||
|
||||
return self:spawn(shell, {
|
||||
args = { shell_args, build },
|
||||
cwd = self.plugin.dir,
|
||||
})
|
||||
self:spawn(shell, {
|
||||
args = { shell_args, build },
|
||||
cwd = self.plugin.dir,
|
||||
})
|
||||
end
|
||||
end
|
||||
end
|
||||
end,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue