first commit
This commit is contained in:
30
bin/.applyTemplate-completion.bash
Executable file
30
bin/.applyTemplate-completion.bash
Executable file
@ -0,0 +1,30 @@
|
||||
#/usr/bin/env bash
|
||||
|
||||
_applyTemplate_completions () {
|
||||
declare -a options
|
||||
OPTIONS=("-help" "-timestamp")
|
||||
COMPREPLY=()
|
||||
|
||||
local CUR OPTIONS_COUNT=0
|
||||
CUR=${COMP_WORDS[COMP_CWORD]}
|
||||
|
||||
# compte les options déjà utilisé et les retire de la liste des possible
|
||||
for ITEM in ${COMP_WORDS[@]:1}
|
||||
do
|
||||
if [[ " ${OPTIONS[*]} " =~ " ${ITEM} " ]] ; then
|
||||
let "OPTIONS_COUNT++"
|
||||
OPTIONS=(${OPTIONS[@]/${ITEM}})
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# si la position est dans des options "ou juste après"
|
||||
((COMP_CWORD <= OPTIONS_COUNT+1)) && [[ "${CUR}" =~ ^- ]] && COMPREPLY=( $(compgen -W "${OPTIONS[*]}" -- "${CUR}" ) ) && return 0
|
||||
|
||||
# si la position est après des options ou que l'on ne commence pas par "-" on cherche des fichiers
|
||||
((COMP_CWORD <= OPTIONS_COUNT+2)) && COMPREPLY=($(compgen -f -- "${CUR}")) && return 0
|
||||
|
||||
return 0
|
||||
}
|
||||
complete -F _applyTemplate_completions applyTemplate.sh
|
Reference in New Issue
Block a user