Унифицированный форматировщик с FM
Проблема
Мне нравится, чтобы мой код выглядел аккуратно и организованно, поэтому я фанат форматировщиков. Однако мне не нравится, как загруженные и запутанные 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 прямо сейчас!