foreach: ajout des raccourcis -G et -C
This commit is contained in:
parent
cbb34ecd3f
commit
7e26ae1e0c
50
foreach
50
foreach
|
@ -74,10 +74,18 @@ OPTIONS
|
||||||
Si l'expansion est désactivée, il faut protéger le caractère \$ pour
|
Si l'expansion est désactivée, il faut protéger le caractère \$ pour
|
||||||
qu'il soit traité, e.g, avec les examples ci-dessus:
|
qu'il soit traité, e.g, avec les examples ci-dessus:
|
||||||
$scriptname -n '*.c' 'cp \"\$item\" dest/dir'
|
$scriptname -n '*.c' 'cp \"\$item\" dest/dir'
|
||||||
-t, --title
|
--title
|
||||||
--no-title
|
--pt, --parent-title
|
||||||
|
--nt, --no-title
|
||||||
Afficher (resp. ne pas afficher) chaque correspondance avant de lancer
|
Afficher (resp. ne pas afficher) chaque correspondance avant de lancer
|
||||||
la commande. Par défaut, l'affichage est effectué."
|
la commande. Par défaut, l'affichage est effectué.
|
||||||
|
Avec --parent-title, pour chaque correspondance afficher plutôt le
|
||||||
|
répertoire parent (valide uniquement avec l'option -p)
|
||||||
|
-G, --git-projects
|
||||||
|
Equivalent à '--ptitle -p */.git --' e.g '$scriptname -G git pull' pour
|
||||||
|
mettre à jour les dépôts situés dans un répertoire
|
||||||
|
-C, --composer-projects
|
||||||
|
Equivalent à '--ptitle -p */composer.json --'"
|
||||||
}
|
}
|
||||||
|
|
||||||
basedir=
|
basedir=
|
||||||
|
@ -85,7 +93,8 @@ match=auto
|
||||||
changedir=
|
changedir=
|
||||||
parentdir=
|
parentdir=
|
||||||
expand=1
|
expand=1
|
||||||
title=1
|
title=auto
|
||||||
|
shortcut=
|
||||||
args=(+
|
args=(+
|
||||||
--help '$exit_with display_help'
|
--help '$exit_with display_help'
|
||||||
-b:,--basedir: basedir=
|
-b:,--basedir: basedir=
|
||||||
|
@ -97,18 +106,31 @@ args=(+
|
||||||
-s,--string match=string
|
-s,--string match=string
|
||||||
-x,--expand expand=1
|
-x,--expand expand=1
|
||||||
-n,--no-expand expand=
|
-n,--no-expand expand=
|
||||||
-t,--title title=1
|
--title title=1
|
||||||
--no-title title=
|
--pt, --parent-title title=p
|
||||||
|
--nt, --no-title title=
|
||||||
|
-G,--git-projects shortcut=git
|
||||||
|
-C,--composer-projects shortcut=composer
|
||||||
)
|
)
|
||||||
parse_args "$@"; set -- "${args[@]}"
|
parse_args "$@"; set -- "${args[@]}"
|
||||||
|
|
||||||
|
case "$shortcut" in
|
||||||
|
git)
|
||||||
|
set -- */.git -- "$@"
|
||||||
|
parentdir=1
|
||||||
|
[ "$title" == auto ] && title=p
|
||||||
|
;;
|
||||||
|
composer)
|
||||||
|
set -- */composer.json -- "$@"
|
||||||
|
parentdir=1
|
||||||
|
[ "$title" == auto ] && title=p
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
if [ "$match" == auto ]; then
|
if [ "$match" == auto ]; then
|
||||||
if [ -n "$changedir" ]; then
|
[ -n "$changedir" ] && match=dir || match=all
|
||||||
match=dir
|
|
||||||
else
|
|
||||||
match=all
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
[ "$title" == auto ] && title=1
|
||||||
|
|
||||||
alt_syntax=
|
alt_syntax=
|
||||||
for sep in "$@"; do
|
for sep in "$@"; do
|
||||||
|
@ -175,7 +197,11 @@ fi
|
||||||
[ -n "$title" ] && einfo "${#items[@]} correspondance(s) trouvée(s)"
|
[ -n "$title" ] && einfo "${#items[@]} correspondance(s) trouvée(s)"
|
||||||
let index=0
|
let index=0
|
||||||
for item in "${items[@]}"; do
|
for item in "${items[@]}"; do
|
||||||
[ -n "$title" ] && etitle "$item"
|
if [ -n "$parentdir" -a "$title" == p ]; then
|
||||||
|
etitle "$(dirname -- "$item")"
|
||||||
|
elif [ -n "$title" ]; then
|
||||||
|
etitle "$item"
|
||||||
|
fi
|
||||||
i="$item"
|
i="$item"
|
||||||
setx file=abspath "$item"
|
setx file=abspath "$item"
|
||||||
setx dir=dirname -- "$file"
|
setx dir=dirname -- "$file"
|
||||||
|
|
Loading…
Reference in New Issue