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;; | ||||
| 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 | ||||
|  | ||||
							
								
								
									
										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éé | ||||
|     -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[@]}" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user