FM ile Birleşik Formatlayıcı
Problem
Kodumu güzel ve düzenli tutmayı seviyorum, bu yüzden formatlayıcılara hayranım. Ancak, IDE’lerin biçimlendirmeyi nasıl karmaşık ve kafa karıştırıcı bir şekilde ele aldığını sevmiyorum ve kodumun çoğunu terminalde Vim aracılığıyla yazıyorum. Bir süre, bir dosya yolu veya dizin yolu sağlayarak tüm içeriği biçimlendiren bir formatlayıcı olan bir CLI aracı arıyordum. Yani, bir dizin sağlarsam, o dizindeki tüm dosyaları biçimlendirecek ve sağlanan dizinde herhangi bir .gitignore dosyası bulursa buna saygı gösterecektir. Bir süre çözüm aradım ama hiçbir şey bulamadım.
Çözüm
Bu nedenle ve bu probleme yanıt olarak, çeşitli projelerde betikleri biçimlendirmek için tasarlanmış, şu anda erken geliştirme aşamasında olan ForMatter veya kısaca fm adlı bir CLI aracı geliştirdim. Bu araç, bir IDE’ye güvenmekten daha fazla kontrol sunuyor. Hala geliştirilme aşamasında olmasına rağmen, tamamen kullanılabilir! Katkıda bulunmakla ilgileniyorsanız, repo’yu çatallamaktan ve bir PR göndermekten çekinmeyin.
Tasarım
fm, Bash betiği ile yazılmıştır ve arka planda aşağıdaki kütüphaneleri/formatlayıcıları kullanmaktadır: shfmt, black, Prettier, & ClangFormat
Bu kütüphaneler/formatlayıcılar ile fm, aşağıdaki formatları desteklemektedir: .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 yaygın olarak kullanıyorum ve birlikte çalıştığım birçok katkıda bulunan veya işbirlikçi de bunu kullanıyor. Bu yüzden açık kaynak yaptım. Çok faydalı olduğunu düşünüyorum ve gerçek bir değer sağlayabilir, bu yüzden tüm dünyanın bunu kullanabilmesini istiyorum. Bunu bilerek, fm‘yi şimdi GitHub üzerinde kontrol edin!