FM ile Birleşik Biçimlendirici

Projenin GitHub Deposu

Sorun

Kodlarımın güzel ve düzenli görünmesini seviyorum, bu yüzden biçimlendiricilerin hayranıyım. Ancak, IDE’lerin biçimlendirmeyi nasıl karmaşık ve kafa karıştırıcı şekilde ele aldığını sevmiyorum ve kodlarımın çoğunu terminalde, Vim ile yazıyorum. Bir süre boyunca, ya bir dosya yolu ya da bir dizin yolu verebileceğim ve verdiğim tüm içeriği biçimlendirecek bir CLI aracı arıyordum. Yani, bir dizin verirsem, o dizindeki tüm dosyaları biçimlendirir ve verilen dizinde herhangi bir .gitignore dosyası(ları) bulursa bunlara saygı gösterir. Bir süre çözüm aradım ama hiçbir şey bulamadım.

Çözüm

Bunun üzerine ve bu soruna yanıt olarak, çeşitli projelerdeki betikleri biçimlendirmek için tasarlanmış, şu anda erken geliştirme aşamasında olan bir CLI aracı olan ForMatter ya da kısaca fm‘i geliştirdim. Bu araç, bir IDE’ye güvenmeye kıyasla biçimlendirme üzerinde daha fazla kontrol sunuyor. Hâlâ geliştirilme aşamasında olmasına rağmen tamamen kullanılabilir! Katkıda bulunmakla ilgileniyorsanız, depoyu fork’layabilir ve bir PR gönderebilirsiniz.

Tasarım

fm, Bash betiğiyle yazılmıştır ve arka planda şu kütüphaneleri/formatlayıcıları kullanır: shfmt, black, Prettier, & ClangFormat. Bu kütüphaneler/formatlayıcılarla, 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‘i yoğun şekilde kullanıyorum ve birlikte çalıştığım birçok katkıda bulunan veya işbirlikçi de bunu kullanıyor. Bu yüzden onu açık kaynak yaptım. Bence çok kullanışlı ve gerçek bir değer sağlayabilir; bu yüzden tüm dünyanın kullanabilmesini istiyorum. Bunu göz önünde bulundurarak, şimdi fm’e GitHub üzerinden göz atın!