utempl: support du datage automatique des fichiers
This commit is contained in:
parent
dbf965db90
commit
19267dd993
4
fndate
4
fndate
|
@ -234,6 +234,7 @@ dcopy) action=copy;;
|
||||||
dmove) action=move;;
|
dmove) action=move;;
|
||||||
dcmd) action=cmd;;
|
dcmd) action=cmd;;
|
||||||
esac
|
esac
|
||||||
|
cmd_quiet=
|
||||||
placeholder=
|
placeholder=
|
||||||
auto_force_date=1
|
auto_force_date=1
|
||||||
force_date=
|
force_date=
|
||||||
|
@ -248,6 +249,7 @@ parse_opts "${PRETTYOPTS[@]}" \
|
||||||
-m,--move action=move \
|
-m,--move action=move \
|
||||||
-c,--cmd action=cmd \
|
-c,--cmd action=cmd \
|
||||||
--string action=string \
|
--string action=string \
|
||||||
|
--cmd-quiet cmd_quiet=1 \
|
||||||
-P:,--placeholder: placeholder= \
|
-P:,--placeholder: placeholder= \
|
||||||
--no-auto-force-date auto_force_date= \
|
--no-auto-force-date auto_force_date= \
|
||||||
-@:,--force-date: force_date= \
|
-@:,--force-date: force_date= \
|
||||||
|
@ -293,7 +295,7 @@ if [ "$action" == cmd ]; then
|
||||||
found=
|
found=
|
||||||
for arg in "$@"; do
|
for arg in "$@"; do
|
||||||
if have_ph "$arg"; then
|
if have_ph "$arg"; then
|
||||||
check_interaction -c && evalx qvals "${args[@]}" "$arg" // estepi "Commande:"
|
[ -z "$cmd_quiet" ] && check_interaction -c && evalx qvals "${args[@]}" "$arg" // estepi "Commande:"
|
||||||
setx arg=replace_ph "$arg" "$force_date"
|
setx arg=replace_ph "$arg" "$force_date"
|
||||||
read_value "Veuillez confirmer le nom" arg "$arg"
|
read_value "Veuillez confirmer le nom" arg "$arg"
|
||||||
found=1
|
found=1
|
||||||
|
|
17
utempl
17
utempl
|
@ -18,6 +18,10 @@ Avant le nom du nouveau fichier, les options suivantes peuvent être utilisées:
|
||||||
Editer le fichier après l'avoir créé
|
Editer le fichier après l'avoir créé
|
||||||
-g, --no-edit
|
-g, --no-edit
|
||||||
Ne pas éditer le fichier après l'avoir créé
|
Ne pas éditer le fichier après l'avoir créé
|
||||||
|
--no-fndate
|
||||||
|
Désactiver le support du marqueur ~~ pour dater le fichier.
|
||||||
|
Par défaut, utiliser 'fndate -c $scriptname' si le nom du fichier
|
||||||
|
contient le marqueur ~~
|
||||||
|
|
||||||
Après le nom du fichier, toutes les options sont spécifiques au modèle
|
Après le nom du fichier, toutes les options sont spécifiques au modèle
|
||||||
utilisé pour créer le nouveau fichier. Utiliser l'option --help pour
|
utilisé pour créer le nouveau fichier. Utiliser l'option --help pour
|
||||||
|
@ -26,6 +30,7 @@ avoir une description des options disponibles."
|
||||||
|
|
||||||
template=
|
template=
|
||||||
edit=auto
|
edit=auto
|
||||||
|
fndate=1
|
||||||
overwrite=
|
overwrite=
|
||||||
encoding=auto
|
encoding=auto
|
||||||
executable=auto
|
executable=auto
|
||||||
|
@ -34,6 +39,7 @@ parse_opts + "${PRETTYOPTS[@]}" \
|
||||||
--help '$exit_with display_help' \
|
--help '$exit_with display_help' \
|
||||||
-t:,--template: template= \
|
-t:,--template: template= \
|
||||||
-e,--edit edit=1 \
|
-e,--edit edit=1 \
|
||||||
|
--no-fndate fndate= \
|
||||||
-g,--no-edit edit= \
|
-g,--no-edit edit= \
|
||||||
-f,--overwrite overwrite=1 \
|
-f,--overwrite overwrite=1 \
|
||||||
-E:,--encoding: encoding= \
|
-E:,--encoding: encoding= \
|
||||||
|
@ -85,6 +91,12 @@ if [ ! -f "$templ" ]; then
|
||||||
fi
|
fi
|
||||||
[ -n "$found" -a -x "$templ" ] || die "$file: Impossible de trouver le template $template${templ:+ ($(basename "$templ"))}"
|
[ -n "$found" -a -x "$templ" ] || die "$file: Impossible de trouver le template $template${templ:+ ($(basename "$templ"))}"
|
||||||
|
|
||||||
|
if [ -n "$fndate" ]; then
|
||||||
|
# n'utiliser fndate que si le marqueur est présent
|
||||||
|
setx filename=basename -- "$file"
|
||||||
|
[[ "$filename" == *~~* ]] || fndate=
|
||||||
|
fi
|
||||||
|
|
||||||
args=()
|
args=()
|
||||||
[ "$template" != "auto" ] && args=("${args[@]}" --template "$template")
|
[ "$template" != "auto" ] && args=("${args[@]}" --template "$template")
|
||||||
if [ "$edit" != "auto" ]; then
|
if [ "$edit" != "auto" ]; then
|
||||||
|
@ -103,4 +115,7 @@ if [ "$executable" != "auto" ]; then
|
||||||
args=("${args[@]}" --no-executable)
|
args=("${args[@]}" --no-executable)
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
exec "$templ" "$file" "${args[@]}" "${opts[@]}" "$@"
|
|
||||||
|
cmd=("$templ" "$file" "${args[@]}" "${opts[@]}" "$@")
|
||||||
|
[ -n "$fndate" ] && cmd=("$scriptdir/fndate" -c --cmd-quiet -- "${cmd[@]}")
|
||||||
|
exec "${cmd[@]}"
|
||||||
|
|
Loading…
Reference in New Issue