mirror of
https://github.com/go-task/task.git
synced 2025-05-27 23:08:16 +02:00
Merge pull request #863 from MarioSchwalbe/bash-completion
Fix handling of CLI_ARGS
This commit is contained in:
commit
2ba083a650
@ -7,6 +7,18 @@ function _task()
|
|||||||
local cur prev words cword
|
local cur prev words cword
|
||||||
_init_completion -n : || return
|
_init_completion -n : || return
|
||||||
|
|
||||||
|
# Check for `--` within command-line and quit or strip suffix.
|
||||||
|
local i
|
||||||
|
for i in "${!words[@]}"; do
|
||||||
|
if [ "${words[$i]}" == "--" ]; then
|
||||||
|
# Do not complete words following `--` passed to CLI_ARGS.
|
||||||
|
[ $cword -gt $i ] && return
|
||||||
|
# Remove the words following `--` to not put --list in CLI_ARGS.
|
||||||
|
words=( "${words[@]:0:$i}" )
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# Handle special arguments of options.
|
# Handle special arguments of options.
|
||||||
case "$prev" in
|
case "$prev" in
|
||||||
-d|--dir)
|
-d|--dir)
|
||||||
@ -33,7 +45,7 @@ function _task()
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
# Prepare task name completions.
|
# Prepare task name completions.
|
||||||
local tasks=( $( "${COMP_WORDS[@]}" --silent $_GO_TASK_COMPLETION_LIST_OPTION 2> /dev/null ) )
|
local tasks=( $( "${words[@]}" --silent $_GO_TASK_COMPLETION_LIST_OPTION 2> /dev/null ) )
|
||||||
COMPREPLY=( $( compgen -W "${tasks[*]}" -- "$cur" ) )
|
COMPREPLY=( $( compgen -W "${tasks[*]}" -- "$cur" ) )
|
||||||
|
|
||||||
# Post-process because task names might contain colons.
|
# Post-process because task names might contain colons.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user