Biçimlendirici (FM)

Projenin GitHub Deposu

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!