Valentin Maerten 7c90ee35f8 test(completion): add cross-shell completion test suite and CI job
Add completion/tests/ harnesses that exercise the engine protocol and every
shell wrapper without a TTY: the engine via `task __complete`, bash/zsh by
stubbing the completion-system helpers, fish via `complete -C`, and PowerShell
via the completion API. A `test:completion` task and a matching CI job (with a
strict mode that fails when an expected shell is missing) run them all.

Writing the suite surfaced and fixed real wrapper bugs:
- fish: `math` has no bitwise `&`, so every directive check errored; test bits
  with integer division + modulo instead. Also filter FilterFileExt results
  ourselves, as __fish_complete_suffix only prioritizes the extension.
- powershell: `Get-ChildItem -Include` is ignored without -Recurse, so file
  extension filtering returned nothing; filter with Where-Object instead.
- bash: guard empty-array expansion so completion with zero candidates does not
  trip `set -u` on bash 3.2.

Also name the completion directive bits (NO_SPACE, FILTER_FILE_EXT, …) in every
wrapper instead of using raw numbers.
2026-07-03 22:29:42 +02:00
2026-06-29 14:13:37 +00:00
2026-06-29 14:13:37 +00:00
2026-06-29 14:13:37 +00:00
2026-06-29 14:13:37 +00:00

Task: The Modern Task Runner

A fast, cross-platform build tool inspired by Make, designed for modern workflows.

InstallationGetting StartedDocsTwitterBlueskyMastodonDiscord

Gold Sponsors

Community Sponsors

Description
A task runner / simpler Make alternative written in Go
Readme MIT 36 MiB
Languages
Go 85.2%
Vue 4.5%
Shell 4.4%
TypeScript 4.1%
PowerShell 1.3%
Other 0.5%