mirror of
https://github.com/go-task/task.git
synced 2026-09-01 19:50:16 +02:00
978277273eb541644f53fedcd92fba0a24cda637
CLI variables are global to the invocation, not scoped to a task: `args.Parse` turns every word holding `=` into a global and every other word into a call, so `task build ENV=dev deploy` and `task build deploy ENV=dev` are the same command. The engine assumed the opposite and, as soon as a word matched a task, served only that task's variables — nothing at all when it had none. `task build <TAB>` and even `task build de<TAB>` went silent, where all five legacy wrappers offered task names at every position. The engine now unions the still-unset requirements of every task named on the line, and falls through to task names once they are all set. The line resolves itself: fill in what blocks execution, then add another task. Keeping the two families exclusive means each keeps a coherent directive, so nothing loses its trailing space. Task words are matched with FindMatchingTasks instead of a hand-built list of names truncated at their first `*`, which is why `task wildcard-foo <TAB>` used to offer task names rather than the variables of `wildcard-*`. Completion also disables fuzzy matching: a suggestion list has no "did you mean". Three fixes ride along. `--sort default` left the sorter nil and cleared the one NewExecutor had set, so completion listed tasks in Taskfile order while `--list` sorted them — and a single templated description silently restored the sort through GetTaskList. The bash wrapper never defined KeepOrder, losing the declaration order of `requires`; it now passes `compopt -o nosort`, which bash 3.2 ignores as it already ignores nospace. And the shell suite unsets TASK_EXE and GO_TASK_PROGNAME: fish, Nushell and PowerShell resolve the binary through them, so an ambient value silently tested something other than the binary just built.
Task: The Modern Task Runner
A fast, cross-platform build tool inspired by Make, designed for modern workflows.
Installation • Getting Started • Docs • Twitter • Bluesky • Mastodon • Discord
Gold Sponsors
|
|
|
|
Community Sponsors
|
|
|
| Package hosting provided by Cloudsmith. | Tooling provided by JetBrains. |
Languages
Go
83.8%
TypeScript
4.8%
Vue
4.5%
Shell
3.9%
Nushell
1.3%
Other
1.7%