Biçimlendirici (FM)
Problem
Kodumun güzel ve düzenli görünmesini seviyorum, bu yüzden biçimlendiricilerin hayranıyım. Ancak, IDE’lerin yoğun ve kafa karıştırıcı biçimlendirme şekli hoşuma gitmiyor ve kodlarımın çoğunu Vim üzerinden terminalde yazıyorum. Bir süre, dosya yolu ya da dizin yolu sağlayarak tüm içeriği biçimlendiren bir CLI aracını arıyordum. Yani, bir dizin sağlarsam, o dizindeki tüm dosyaları biçimlendirecek ve sağlanan dizinde bulunan .gitignore
dosyalarını (varsa) dikkate alacaktır. Bir süre çözüm aradım ama hiçbir şey bulamadım.
Çözüm
Bunun sonucunda ve bu probleme yanıt olarak, çeşitli projelerdeki betikleri biçimlendirmek için erken geliştirme aşamasında olan bir CLI aracı ForMatter ya da kısaca fm geliştirdim. Bu araç, bir IDE’ye güvenmek yerine biçimlendirme üzerinde daha fazla kontrol sunar. Henüz geliştirme aşamasında olmasına rağmen, tamamen kullanılabilir! Katkıda bulunmak isterseniz, depoyu çatallamaktan ve bir PR göndermekten çekinmeyin.
Tasarım
fm, Bash betiğiyle yazılmıştır ve arka planda aşağıdaki kütüphaneleri/biçimlendiricileri kullanır: shfmt, black, Prettier, & ClangFormat
Bu kütüphaneler/biçimlendiricilerle, fm aşağıdaki formatları destekler: .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
Sonuç
Kişisel sistemimde fm‘yi yoğun bir şekilde kullanıyorum ve birlikte çalıştığım birçok katkıda bulunan ya da işbirlikçi de onu kullanıyor. Bu yüzden açık kaynak yaptım. Çok faydalı olduğunu ve gerçek değer sağlayabileceğini düşünüyorum, bu yüzden tüm dünyanın kullanabilmesini istiyorum. Bunu bilerek, fm‘yi şimdi GitHub üzerinden inceleyin!