مُنسق موحد مع FM

مستودع المشروع على GitHub

المشكلة

أحب أن يبدو كودي جميلاً ومنظماً، لذا أنا من محبي المنسقات. ومع ذلك، لا أحب كيف تتعامل بيئات التطوير المتكاملة مع التنسيق بشكل مزدحم ومربك، وأكتب الكثير من كودي في الطرفية من خلال Vim. لفترة من الوقت، كنت أبحث عن أداة CLI تكون منسقاً يسمح لي بتقديم إما مسار ملف أو مسار دليل وتنسيق كل المحتوى الذي قدمته. بمعنى، إذا قدمت دليلاً، فسوف يقوم بتنسيق جميع الملفات في ذلك الدليل واحترام أي ملف .gitignore إذا وجد أي منها في الدليل المقدم. بحثت عن حل لفترة ولكن لم أجد شيئاً.

الحل

بسبب ذلك واستجابةً لهذه المشكلة، طورت ForMatter أو باختصار fm، أداة CLI لا تزال في مرحلة التطوير المبكر، مصممة لتنسيق السكربتات عبر مشاريع متنوعة. توفر هذه الأداة تحكماً أكبر في التنسيق مقارنةً بالاعتماد على IDE. على الرغم من أنها لا تزال قيد التطوير، إلا أنها قابلة للاستخدام بالكامل! إذا كنت مهتمًا بالمساهمة، فلا تتردد في عمل فورك للمستودع وتقديم طلب سحب.

التصميم

fm مكتوبة بلغة Bash وتستخدم المكتبات/المنسقات التالية في الخلفية: shfmt، black، Prettier، و ClangFormat

مع هذه المكتبات/المنسقات، تدعم fm التنسيقات التالية: .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

الخاتمة

أستخدم fm بشكل مكثف على نظامي الشخصي، والعديد من المساهمين أو المتعاونين الذين أعمل معهم يستخدمونها أيضاً. لهذا السبب قمت بفتح مصدرها. أعتقد أنها مفيدة جداً ويمكن أن تقدم قيمة حقيقية، لذا أريد أن يتمكن العالم كله من استخدامها. مع العلم بذلك، تحقق من fm على GitHub الآن!