From 19267dd99361dfc8fdb40ea00f7ac8a725b25f3d Mon Sep 17 00:00:00 2001 From: Jephte Clain Date: Sat, 21 Jul 2018 10:34:02 +0400 Subject: [PATCH] utempl: support du datage automatique des fichiers --- fndate | 4 +++- utempl | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/fndate b/fndate index 1e12a26..c87db8a 100755 --- a/fndate +++ b/fndate @@ -234,6 +234,7 @@ dcopy) action=copy;; dmove) action=move;; dcmd) action=cmd;; esac +cmd_quiet= placeholder= auto_force_date=1 force_date= @@ -248,6 +249,7 @@ parse_opts "${PRETTYOPTS[@]}" \ -m,--move action=move \ -c,--cmd action=cmd \ --string action=string \ + --cmd-quiet cmd_quiet=1 \ -P:,--placeholder: placeholder= \ --no-auto-force-date auto_force_date= \ -@:,--force-date: force_date= \ @@ -293,7 +295,7 @@ if [ "$action" == cmd ]; then found= for arg in "$@"; do 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" read_value "Veuillez confirmer le nom" arg "$arg" found=1 diff --git a/utempl b/utempl index 06323de..26e460a 100755 --- a/utempl +++ b/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éé -g, --no-edit 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 utilisé pour créer le nouveau fichier. Utiliser l'option --help pour @@ -26,6 +30,7 @@ avoir une description des options disponibles." template= edit=auto +fndate=1 overwrite= encoding=auto executable=auto @@ -34,6 +39,7 @@ parse_opts + "${PRETTYOPTS[@]}" \ --help '$exit_with display_help' \ -t:,--template: template= \ -e,--edit edit=1 \ + --no-fndate fndate= \ -g,--no-edit edit= \ -f,--overwrite overwrite=1 \ -E:,--encoding: encoding= \ @@ -85,6 +91,12 @@ if [ ! -f "$templ" ]; then fi [ -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=() [ "$template" != "auto" ] && args=("${args[@]}" --template "$template") if [ "$edit" != "auto" ]; then @@ -103,4 +115,7 @@ if [ "$executable" != "auto" ]; then args=("${args[@]}" --no-executable) fi fi -exec "$templ" "$file" "${args[@]}" "${opts[@]}" "$@" + +cmd=("$templ" "$file" "${args[@]}" "${opts[@]}" "$@") +[ -n "$fndate" ] && cmd=("$scriptdir/fndate" -c --cmd-quiet -- "${cmd[@]}") +exec "${cmd[@]}"