modifs pour faciliter l'override
This commit is contained in:
parent
f659f293cb
commit
ba33c7815f
|
@ -2,6 +2,17 @@
|
||||||
##@cooked nocomments
|
##@cooked nocomments
|
||||||
module: template "Mise à jour de templates à partir de modèles"
|
module: template "Mise à jour de templates à partir de modèles"
|
||||||
|
|
||||||
|
function: template_locals "\
|
||||||
|
Afficher les variables qui doivent être locales
|
||||||
|
|
||||||
|
Utiliser de cette façon:
|
||||||
|
~~~
|
||||||
|
eval \$(template_locals)
|
||||||
|
~~~"
|
||||||
|
function template_locals() {
|
||||||
|
echo "local -a userfiles; local updated"
|
||||||
|
}
|
||||||
|
|
||||||
function: template_copy_replace "\
|
function: template_copy_replace "\
|
||||||
Copier \$1 vers \$2 de façon inconditionnelle
|
Copier \$1 vers \$2 de façon inconditionnelle
|
||||||
|
|
||||||
|
@ -54,20 +65,33 @@ function template_copy_missing() {
|
||||||
function: template_dump_vars "\
|
function: template_dump_vars "\
|
||||||
Lister les variables mentionnées dans les fichiers \$@
|
Lister les variables mentionnées dans les fichiers \$@
|
||||||
|
|
||||||
Seules sont prises en compte les variables dont le nom est de la forme [A-Z][A-Za-z_]*"
|
Seules sont prises en compte les variables dont le nom est de la forme
|
||||||
|
[A-Z][A-Za-z_]*
|
||||||
|
|
||||||
|
Cette fonction est utilisée par template_source_envs(). Elle utilise la
|
||||||
|
fonction outil _template_dump_vars() qui peut être redéfinie si nécessaire."
|
||||||
function template_dump_vars() {
|
function template_dump_vars() {
|
||||||
|
_template_dump_vars "$@"
|
||||||
|
}
|
||||||
|
function _template_dump_vars() {
|
||||||
cat "$@" |
|
cat "$@" |
|
||||||
grep -E '^[A-Z][A-Za-z_]*=' |
|
grep -E '^[A-Z][A-Za-z_]*=' |
|
||||||
sed 's/=.*//' |
|
sed 's/=.*//' |
|
||||||
sort -u
|
sort -u
|
||||||
}
|
}
|
||||||
|
|
||||||
function: template__source_envs "\
|
function: template_source_envs "\
|
||||||
Cette fonction doit être implémentée par l'utilisateur et doit:
|
Cette fonction doit être implémentée par l'utilisateur et doit:
|
||||||
- initialiser le tableau template_vars qui donne la liste des variables scalaires
|
- initialiser le tableau template_vars qui donne la liste des variables scalaires
|
||||||
- initialiser te tableau template_lists qui donne la liste des variables listes
|
- initialiser te tableau template_lists qui donne la liste des variables listes
|
||||||
- charger ces variables depuis les fichiers \$@"
|
- charger ces variables depuis les fichiers \$@
|
||||||
function template__source_envs() {
|
|
||||||
|
Cette fonction utilise la fonction outil _template_source_envs() qui peut être
|
||||||
|
redéfinie si nécessaire."
|
||||||
|
function template_source_envs() {
|
||||||
|
_template_source_envs "$@"
|
||||||
|
}
|
||||||
|
function _template_source_envs() {
|
||||||
local e_
|
local e_
|
||||||
for e_ in "$@"; do
|
for e_ in "$@"; do
|
||||||
[ -f "$e_" ] && source "$e_"
|
[ -f "$e_" ] && source "$e_"
|
||||||
|
@ -98,7 +122,7 @@ function template_generate_scripts() {
|
||||||
local awkscript="$1"; shift
|
local awkscript="$1"; shift
|
||||||
local sedscript="$1"; shift
|
local sedscript="$1"; shift
|
||||||
(
|
(
|
||||||
template__source_envs "$@"
|
template_source_envs "$@"
|
||||||
|
|
||||||
NL=$'\n'
|
NL=$'\n'
|
||||||
# random, for
|
# random, for
|
||||||
|
|
Loading…
Reference in New Issue