FM ile Birleşik Formatlayıcı

Projenin GitHub Repo

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!