Les macros peuvent être utilisées pour exprimer la logique, et pour boucler sur des collections d'objets. Chaque mot clé de macro doit être précédé d'un caractère "." (point) et doit être le premier caractère, autre qu'un espace, sur une ligne. Prenez soin de respecter la syntaxe des macros en termes de passage à la ligne.
Vous pouvez définir une macro dans un template, ou dans une commande.
Il existe trois types de macros :
.nom-macro [(paramètres)] bloc-entrée .endnom-macro [(fin)]
.foreach_nom-macro [(paramètres[,en-tête[,fin]])] complex-template .next[(séparateur)]
Les paramètres de macro peuvent être délimités par des guillemets. Les délimiteurs sont requis lorsque la valeur du paramètre inclut des virgules, des accolades et des espaces de début ou de fin. La séquence d'échappement pour les guillemets au sein d'un paramètre est \".
Pour pouvez utiliser les macros suivantes :
Macros conditionnelles et macro de boucle/itératives :
Macro .foreach_item – permet l'itération sur les collections d'objets
Macro .foreach_line – permet l'itération sur les lignes
Macro .foreach_part – permet l'itération sur les parties
Macro .break– interrompt la boucle
Macros d'affectation - définit une variable locale ou un type valeur ainsi que des attributs volatiles :
Macros de résultats et de signalisation d'erreurs :
Macros de commandes - uniquement disponibles dans le contexte de l'exécution d'une commande générique :
Macro .vbscript - incorpore du code VB script dans un template
Macro .execute_vbscript - lance l'exécutions de scripts VB
Macro .execute_command - lance des exécutables
Macro .abort_command - stoppe l'exécution de commandes
Macro .change_dir - change de répertoire
Macro .create_path - crée un chemin spécifié
Macros de mise en forme :
Macros de manipulation de chaînes :
Macros diverses :
Macro .comment et macro .// - insère un commentaire dans un template
Macro .collection - renvoie une collection d'objets en fonction de la portée et de la condition spécifiées
Macro .object - renvoie un objet en fonction de la portée et de la condition spécifiées
Macro .bool - évalue une condition
Macro .set_interactive_mode – spécifie si l'exécution du langage de génération par template peut comporter des interactions avec l'utilisateur