From b2010338910bc8da583b3da5275464cc0792339b Mon Sep 17 00:00:00 2001 From: Valentin Maerten Date: Wed, 5 Nov 2025 09:09:18 +0100 Subject: [PATCH 1/3] fix: autocomplete works with other binary than 'task' --- completion/bash/task.bash | 3 ++- completion/fish/task.fish | 2 +- completion/ps/task.ps1 | 6 ++++-- completion/zsh/_task | 5 +++-- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/completion/bash/task.bash b/completion/bash/task.bash index de93e4c83a..0b19329eb1 100644 --- a/completion/bash/task.bash +++ b/completion/bash/task.bash @@ -1,6 +1,7 @@ # vim: set tabstop=2 shiftwidth=2 expandtab: _GO_TASK_COMPLETION_LIST_OPTION='--list-all' +TASK_CMD="${TASK_EXE:-task}" function _task() { @@ -52,4 +53,4 @@ function _task() __ltrim_colon_completions "$cur" } -complete -F _task task +complete -F _task "$TASK_CMD" diff --git a/completion/fish/task.fish b/completion/fish/task.fish index e8640fe4a5..06ca941744 100644 --- a/completion/fish/task.fish +++ b/completion/fish/task.fish @@ -1,4 +1,4 @@ -set -l GO_TASK_PROGNAME task +set -l GO_TASK_PROGNAME (if set -q GO_TASK_PROGNAME; echo $GO_TASK_PROGNAME; else if set -q TASK_EXE; echo $TASK_EXE; else; echo task; end) function __task_get_tasks --description "Prints all available tasks with their description" --inherit-variable GO_TASK_PROGNAME # Check if the global task is requested diff --git a/completion/ps/task.ps1 b/completion/ps/task.ps1 index 2a389e8a61..31e64c4b47 100644 --- a/completion/ps/task.ps1 +++ b/completion/ps/task.ps1 @@ -1,6 +1,8 @@ using namespace System.Management.Automation -Register-ArgumentCompleter -CommandName task -ScriptBlock { +$TaskCmd = if ($env:TASK_EXE) { $env:TASK_EXE } else { "task" } + +Register-ArgumentCompleter -CommandName $TaskCmd -ScriptBlock { param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters) if ($commandName.StartsWith('-')) { @@ -24,5 +26,5 @@ Register-ArgumentCompleter -CommandName task -ScriptBlock { return $completions.Where{ $_.CompletionText.StartsWith($commandName) } } - return $(task --list-all --silent) | Where-Object { $_.StartsWith($commandName) } | ForEach-Object { return $_ + " " } + return $(& $commandName --list-all --silent) | Where-Object { $_.StartsWith($commandName) } | ForEach-Object { return $_ + " " } } diff --git a/completion/zsh/_task b/completion/zsh/_task index 7fe50aed1d..c96036778a 100755 --- a/completion/zsh/_task +++ b/completion/zsh/_task @@ -1,6 +1,7 @@ #compdef task -compdef _task task typeset -A opt_args +TASK_CMD="${TASK_EXE:-task}" +compdef _task "$TASK_CMD" _GO_TASK_COMPLETION_LIST_OPTION="${GO_TASK_COMPLETION_LIST_OPTION:---list-all}" @@ -10,7 +11,7 @@ function __task_list() { local -i enabled=0 local taskfile item task desc - cmd=(task) + cmd=($TASK_CMD) taskfile=${(Qv)opt_args[(i)-t|--taskfile]} taskfile=${taskfile//\~/$HOME} From 4e9f40669e4fdb390bb1ba09c84e2c90a23a5b20 Mon Sep 17 00:00:00 2001 From: Valentin Maerten Date: Sun, 9 Nov 2025 13:29:48 +0100 Subject: [PATCH 2/3] revert ps --- completion/ps/task.ps1 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/completion/ps/task.ps1 b/completion/ps/task.ps1 index 31e64c4b47..2a389e8a61 100644 --- a/completion/ps/task.ps1 +++ b/completion/ps/task.ps1 @@ -1,8 +1,6 @@ using namespace System.Management.Automation -$TaskCmd = if ($env:TASK_EXE) { $env:TASK_EXE } else { "task" } - -Register-ArgumentCompleter -CommandName $TaskCmd -ScriptBlock { +Register-ArgumentCompleter -CommandName task -ScriptBlock { param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters) if ($commandName.StartsWith('-')) { @@ -26,5 +24,5 @@ Register-ArgumentCompleter -CommandName $TaskCmd -ScriptBlock { return $completions.Where{ $_.CompletionText.StartsWith($commandName) } } - return $(& $commandName --list-all --silent) | Where-Object { $_.StartsWith($commandName) } | ForEach-Object { return $_ + " " } + return $(task --list-all --silent) | Where-Object { $_.StartsWith($commandName) } | ForEach-Object { return $_ + " " } } From 64ac16a55b089a2948e6a9127db293dff4502962 Mon Sep 17 00:00:00 2001 From: Valentin Maerten Date: Sun, 9 Nov 2025 21:12:52 +0100 Subject: [PATCH 3/3] add dics --- website/src/docs/installation.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/website/src/docs/installation.md b/website/src/docs/installation.md index 6b37769d91..4a7e03bb37 100644 --- a/website/src/docs/installation.md +++ b/website/src/docs/installation.md @@ -332,21 +332,28 @@ config: This method loads the completion script from the currently installed version of task every time you create a new shell. This ensures that your completions are always up-to-date. +If your executable isn’t named task, set the `TASK_EXE` environment variable before running eval. ::: code-group ```shell [bash] # ~/.bashrc + +# export TASK_EXE='go-task' if needed eval "$(task --completion bash)" ``` ```shell [zsh] # ~/.zshrc + +# export TASK_EXE='go-task' if needed eval "$(task --completion zsh)" ``` ```shell [fish] # ~/.config/fish/config.fish + +# export TASK_EXE='go-task' if needed task --completion fish | source ```