Formattatore unificato con FM
Repository GitHub del progetto
Problema
Mi piace mantenere il mio codice bello e organizzato, quindi sono un fan dei formattatori. Tuttavia, non mi piace quanto siano affollati e confusi gli IDE quando gestiscono la formattazione, e scrivo gran parte del mio codice nel terminale usando Vim. Per un po’ di tempo ho cercato uno strumento CLI che fosse un formattatore che mi permettesse di fornire o un percorso di file o un percorso di directory e che formattasse tutto il contenuto che fornivo. Cioè, se fornisco una directory, formatterà tutti i file in quella directory e rispetterà eventuali file .gitignore se ne trova nella directory fornita. Ho cercato una soluzione per un po’ ma non ho trovato nulla.
Soluzione
A causa di questo e in risposta a questo problema, ho sviluppato ForMatter o, in breve, fm, uno strumento CLI attualmente in fase di sviluppo iniziale, progettato per formattare script in vari progetti. Questo strumento offre un maggiore controllo sulla formattazione rispetto all’affidarsi a un IDE. Anche se è ancora in sviluppo, è completamente utilizzabile! Se sei interessato a contribuire, sentiti libero di forkare il repository e inviare una PR.
Progettazione
fm è scritto in Bash script e utilizza le seguenti librerie/formattatori dietro le quinte: shfmt, black, Prettier, & ClangFormat. Con queste librerie/formattatori, fm supporta i seguenti formati: .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
Conclusione
Uso fm estesamente sul mio sistema personale, e molti collaboratori con cui lavoro lo usano anch’essi. Per questo l’ho reso open source. Penso che sia molto utile e che possa fornire un reale valore, quindi voglio che tutto il mondo possa usarlo. Detto ciò, dai un’occhiata a fm su GitHub ora!