template: ajouter @@:- et @@:+
This commit is contained in:
parent
ba33c7815f
commit
52f54e1751
|
@ -117,6 +117,8 @@ Les marqueurs supportés sont les suivants et sont évalués dans cet ordre:
|
|||
- #@@UL:VAR@@ afficher la ligne si VAR est vide, supprimer la ligne sinon
|
||||
- #@@if:VAR@@
|
||||
- #@@ul:VAR@@ variantes qui ne suppriment pas la ligne mais sont remplacées par #
|
||||
- @@VAR:-string@@ remplacer par 'string' si VAR a une valeur vide ou n'est pas défini, \$VAR sinon
|
||||
- @@VAR:+string@@ remplacer par 'string' si VAR est défini a une valeur non vide
|
||||
"
|
||||
function template_generate_scripts() {
|
||||
local awkscript="$1"; shift
|
||||
|
@ -175,11 +177,15 @@ function template_generate_scripts() {
|
|||
echo "s/#@@if:${var}@@//g"
|
||||
echo "/#@@UL:${var}@@/d"
|
||||
echo "s/#@@ul:${var}@@/#/g"
|
||||
echo "s/@@${var}:-([^@]*)@@/${value}/g"
|
||||
echo "s/@@${var}:+([^@]*)@@/\\1/g"
|
||||
else
|
||||
echo "/#@@IF:${var}@@/d"
|
||||
echo "s/#@@if:${var}@@/#/g"
|
||||
echo "s/#@@UL:${var}@@//g"
|
||||
echo "s/#@@ul:${var}@@//g"
|
||||
echo "s/@@${var}:-([^@]*)@@/\\1/g"
|
||||
echo "s/@@${var}:+([^@]*)@@//g"
|
||||
fi
|
||||
echo "s/@@${var}@@/${value}/g"
|
||||
done
|
||||
|
@ -196,8 +202,12 @@ function template_process_userfiles() {
|
|||
|
||||
ac_set_tmpfile workfile
|
||||
for userfile in "${userfiles[@]}"; do
|
||||
cat "$userfile" | awk -f "$awkscript" | sed -f "$sedscript" >"$workfile" &&
|
||||
cat "$workfile" >"$userfile"
|
||||
if cat "$userfile" | awk -f "$awkscript" | sed -rf "$sedscript" >"$workfile"; then
|
||||
if testdiff "$workfile" "$userfile"; then
|
||||
# n'écrire le fichier que s'il a changé
|
||||
cat "$workfile" >"$userfile"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
ac_clean "$awkscript" "$sedscript" "$workfile"
|
||||
|
|
Loading…
Reference in New Issue