Vereinheitlichter Formatter mit FM
Problem
Ich mag es, meinen Code schön und organisiert zu halten, daher bin ich ein Fan von Formatierern. Allerdings mag ich nicht, wie überladen und verwirrend IDEs das Formatieren handhaben, und ich schreibe einen Großteil meines Codes im Terminal über Vim. Eine Zeit lang habe ich nach einem CLI-Tool gesucht, das ein Formatter ist und es mir ermöglicht, entweder einen Dateipfad oder einen Verzeichnispfad anzugeben, und es formatiert den gesamten Inhalt, den ich bereitstelle. Das bedeutet, wenn ich ein Verzeichnis angebe, formatiert es alle Dateien in diesem Verzeichnis und respektiert alle .gitignore-Datei(en), falls es welche im angegebenen Verzeichnis findet. Ich habe eine Weile nach einer Lösung gesucht, aber nichts gefunden.
Lösung
Aufgrund dessen und als Antwort auf dieses Problem habe ich ForMatter oder kurz fm entwickelt, ein CLI-Tool, das sich derzeit in der frühen Entwicklung befindet und dazu gedacht ist, Skripte über verschiedene Projekte hinweg zu formatieren. Dieses Tool bietet mehr Kontrolle über das Formatieren im Vergleich zur Abhängigkeit von einer IDE. Obwohl es sich noch in der Entwicklung befindet, ist es voll funktionsfähig! Wenn Sie interessiert sind, beizutragen, können Sie das Repo gerne forken und einen PR einreichen.
Design
fm ist in Bash-Skript geschrieben und verwendet im Hintergrund die folgenden Bibliotheken/Formatter: shfmt, black, Prettier, & ClangFormat
Mit diesen Bibliotheken/Formattern unterstützt fm die folgenden Formate: .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
Fazit
Ich benutze fm intensiv auf meinem persönlichen System, und viele Mitwirkende oder Mitarbeiter, mit denen ich arbeite, verwenden es ebenfalls. Deshalb habe ich es Open Source gemacht. Ich denke, es ist sehr nützlich und kann echten Wert bieten, also möchte ich, dass die ganze Welt es nutzen kann. In diesem Sinne, schauen Sie sich fm jetzt auf GitHub an!