Унифицированный форматировщик с FM

Репозиторий проекта на GitHub

Проблема

Мне нравится, чтобы мой код выглядел аккуратно и организованно, поэтому я фанат форматировщиков. Однако мне не нравится, как загруженные и запутанные IDE обрабатывают форматирование, и я пишу много своего кода в терминале через Vim. В течение некоторого времени я искал инструмент CLI, который является форматировщиком и позволяет мне указывать либо путь к файлу, либо путь к директории, и он форматирует весь предоставленный контент. То есть, если я указываю директорию, он отформатирует все файлы в этой директории и учтет любые файлы .gitignore, если найдет их в указанной директории. Я долго искал решение, но ничего не нашел.

Решение

В связи с этим и в ответ на эту проблему я разработал ForMatter, или сокращенно fm, инструмент CLI, который в настоящее время находится на ранней стадии разработки и предназначен для форматирования скриптов в различных проектах. Этот инструмент предлагает больше контроля над форматированием по сравнению с полаганием на IDE. Хотя он все еще в разработке, он полностью работоспособен! Если вы хотите внести свой вклад, не стесняйтесь форкать репозиторий и отправлять PR.

Дизайн

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 прямо сейчас!