Уніфікований Форматер з 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 зараз!