URL: https://linuxfr.org/news/trois-utilitaires-delta-dust-et-watchexec Title: Trois utilitaires : Delta, Dust et Watchexec Authors: Bruno Michel Xavier Teyssier et Benoît Sibaud Date: 2020-05-10T20:59:00+02:00 License: CC by-sa Tags: delta, dust et watchexec Score: 6 J’avais présenté, il y a quelque temps, trois utilitaires écrits en Rust pour remplacer grep, ls et find (à savoir [ripgrep](https://github.com/BurntSushi/ripgrep), [exa](https://the.exa.website/) et [fd](https://github.com/sharkdp/fd)). Cette dépêche est l’occasion de présenter trois nouveaux utilitaires également écrits en Rust : delta, dust et watchexec. ---- [Des alternatives à grep, ls et find](https://linuxfr.org/news/des-alternatives-a-grep-ls-et-find) [Delta](https://github.com/dandavison/delta) [Dust](https://github.com/bootandy/dust) [Watchexec](https://github.com/watchexec/watchexec) ---- ## Delta Delta permet de mettre de la coloration syntaxique dans les diffs, et notamment ceux produits par git. Il affiche avec un fond vert ce qui a été ajouté et avec un fond rouge ce qui a été supprimé, mais il met également en couleur les mots-clés, opérateurs et structure propre à chaque langage de programmation. La coloration syntaxique provient de [bat](https://github.com/sharkdp/bat/), et comme celui-ci, il offre différents thèmes pour s’adapter aux goûts de chacun. ![Capture d’écran de delta](https://user-images.githubusercontent.com/52205/65248525-32250480-daea-11e9-9965-1a05c6a4bdf4.png) ## Dust Dust s’inspire de l’utilitaire [`du`](https://www.gnu.org/software/coreutils/manual/html_node/du-invocation.html). Il apporte du confort quand on veut trouver quelques répertoires prennent de la place, grâce à quelques astuces : - il fait automatiquement le tri, pas besoin de recourir à `sort` ; - il va également afficher les gros sous-répertoires, pas seulement les répertoires de premier niveau ; - son affichage graphique permet de mieux voir où l’espace est pris. ![Capture d’écran de Dust](https://raw.githubusercontent.com/bootandy/dust/bfa3594fe8d0f57f63167e527e02e3d52ee0b69e/media/snap.png) ## Watchexec Watchexec permet de lancer des commandes dès qu’un fichier est modifié. C’est pratique pour relancer des tests, une compilation ou un serveur pour un développeur. Il s’appuie sur inotify sous GNU/Linux et ses équivalents pour macOS et windows. Voici quelques exemples d’invocation : - `watchexec make` permet de lancer la commande `make` dès qu’un fichier est ajouté ou modifié dans le répertoire courant ; - `watchexec -w src -w spec rspec` permet de lancer les lancer des tests avec `rspec` dès qu’un fichier présent dans `src` ou dans `spec` est modifié ; - `watchexec -e py -r python server.py` permet de lancer ou relancer un serveur python dès qu’un fichier avec l’extension `.py` est modifié.