Formatteur unifié avec FM
Problème
J’aime garder mon code propre et organisé, donc je suis fan des formateurs. Cependant, je n’aime pas la manière dont les IDE gèrent le formatage, souvent chargée et déroutante, et j’écris une grande partie de mon code dans le terminal avec Vim. Pendant un certain temps, je recherchais un outil en ligne de commande qui soit un formateur permettant de fournir soit un chemin de fichier soit un chemin de répertoire et qui formate tout le contenu fourni. Autrement dit, si je fournis un répertoire, il formatera tous les fichiers de ce répertoire et respectera tout fichier(s) .gitignore s’il en trouve dans le répertoire fourni. J’ai cherché une solution pendant un certain temps mais je n’ai rien trouvé.
Solution
En réponse à ce problème, j’ai développé ForMatter ou en abrégé fm, un outil CLI actuellement en phase de développement initial, conçu pour formater des scripts à travers divers projets. Cet outil offre un meilleur contrôle du formatage comparé à la dépendance à un IDE. Bien qu’il soit encore en développement, il est entièrement utilisable ! Si vous souhaitez contribuer, n’hésitez pas à forker le dépôt et à soumettre une PR.
Conception
fm est écrit en script Bash et utilise en arrière-plan les bibliothèques/formateurs suivants : shfmt, black, Prettier, & ClangFormat. Avec ces bibliothèques/formateurs, fm prend en charge les formats suivants : .py, .sh, .bash, .dash, .ksh, .js, .jsx, .ts, .tsx, .json, .md, .html, .css, .yml, .yaml, .graphql, .vue, .scss, .less, .c, .cpp, .h, .hpp, .m, .mm, & .java
Conclusion
J’utilise fm largement sur mon système personnel, et de nombreux contributeurs ou collaborateurs avec qui je travaille l’utilisent également. C’est pourquoi je l’ai rendu open-source. Je pense qu’il est très utile et qu’il peut apporter une réelle valeur, donc je veux que le monde entier puisse l’utiliser. Sur ce, consultez fm sur GitHub dès maintenant !