fix: autocomplete works with other binary than 'task' (#2495)

This commit is contained in:
Valentin Maerten
2025-12-07 12:20:45 +01:00
committed by GitHub
parent 12fbdd3ec7
commit 4af5278d73
4 changed files with 13 additions and 4 deletions

View File

@@ -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"

View File

@@ -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)
# Cache variables for experiments (global)
set -g __task_experiments_cache ""

View File

@@ -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}"
@@ -16,7 +17,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}

View File

@@ -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 isnt 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
```