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/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} 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 ```