From b2010338910bc8da583b3da5275464cc0792339b Mon Sep 17 00:00:00 2001 From: Valentin Maerten Date: Wed, 5 Nov 2025 09:09:18 +0100 Subject: [PATCH] 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 de93e4c8..0b19329e 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 e8640fe4..06ca9417 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 2a389e8a..31e64c4b 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 7fe50aed..c9603677 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}