# -*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8 ##@creator: jclain ##@created: 15/03/2012 22:15 ##@modifier: jclain ##@changecount: 1 ##@tags: ##@title: ulib/udir !! {{{udir_check}}} {{{ Vérifier si le fichier $1 existe Si $1 est un répertoire, prendre $1/.udir }}} !! {{{udir_create_maybe}}} {{{ Si le fichier $1 n'existe pas, le créer comme un template .udir Si $1 est un répertoire, prendre $1/.udir }}} !! {{{udir_dump}}} {{{ Dumper toutes les variables définies pour le fichier $1 Si $1 est un répertoire, prendre $1/.udir }}} !! {{{udir_eval}}} {{{ Evaluer la commande "$2..$*" dans le contexte des variables définies pour le répertoire $1. La commande est évaluée dans un sous-shell pour ne pas polluer l'espace de noms courant. }}} !! {{{udir_dump_all}}} {{{ Dumper toutes les variables définies pour le répertoire $1 et *tous ses parents* jusqu'à la racine }}} !! {{{udir_eval_all}}} {{{ Evaluer la commande "$2..$*" dans le contexte des variables définies pour le répertoire $1 et *tous ses parents* jusqu'à la racine }}} !! {{{udir_parse}}} {{{ Dans le fichier $1, lire les noms des variables Si $1 est un répertoire, prendre $1/.udir Les noms des variables sont placés dans le tableau $2(=UDIR_VARS), et les noms des tableaux sont placés dans le tableau $3(=UDIR_ARRAYS) note: les regex qui sont entre "" au lieu de // le sont à cause d'un bug de awk sous macosx }}} !! {{{udir_update}}} {{{ Dans le fichier $1, mettre à jour les variables $2..* Si $1 est un répertoire, prendre $1/.udir Chaque argument de cette fonction est de la forme name[=value] Si value n'est pas précisée, la variable obtient une valeur nulle (i.e. var=) Si la variable ne figure pas dans le fichier, elle est rajoutée à la fin du fichier. Cette fonction nécessite gawk. }}} !! {{{write_unseen}}} !! {{{udir_edit}}}