feat: add extra_args provider field

Problem: Overriding a single flag (e.g. `-outdir=build`) required
redefining the entire `args` function, duplicating all preset defaults.

Solution: Add `extra_args` field that appends to the resolved `args`
after evaluation. Accepts a static table or a context function.
This commit is contained in:
Barrett Ruth 2026-03-05 22:05:36 -05:00
parent 1fbc307bad
commit 7f1f8f8d65
Signed by: barrett
GPG key ID: A6C96C9349D2FC81
2 changed files with 5 additions and 0 deletions

View file

@ -309,6 +309,9 @@ function M.compile(bufnr, name, provider, ctx, opts)
if provider.args then
vim.list_extend(cmd, eval_list(provider.args, resolved_ctx))
end
if provider.extra_args then
vim.list_extend(cmd, eval_list(provider.extra_args, resolved_ctx))
end
log.dbg('compiling buffer %d with provider "%s": %s', bufnr, name, table.concat(cmd, ' '))