Форматер (FM)
Problem
Мені подобається, коли мій код виглядає гарно та організовано, тому я є прихильником форматерів. Проте мені не подобається, як зайняті та заплутані IDE обробляють форматування, і я багато коду пишу в терміналі за допомогою Vim. Довгий час я шукав інструмент CLI, який є форматером і дозволяє вказати шлях до файлу або до директорії, після чого він форматуватиме весь наданий вміст. Тобто, якщо я вкажу директорію, він форматуватиме всі файли в цій директорії та враховуватиме будь‑які файли .gitignore
, якщо вони є в зазначеній директорії. Я шукав рішення деякий час, але нічого не знайшов.
Solution
Через це і у відповідь на цю проблему я розробив ForMatter або коротко fm, інструмент CLI, який наразі знаходиться на ранній стадії розробки, призначений для форматування скриптів у різних проектах. Цей інструмент надає більше контролю над форматуванням у порівнянні з використанням IDE. Хоча він ще в розробці, його вже можна повністю використовувати! Якщо ви зацікавлені у внесенні, не соромтеся форкнути репозиторій і подати PR.
Design
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
Conclusion
Я широко використовую fm у своїй особистій системі, і багато співробітників чи колаборантів, з якими я працюю, також його використовують. Ось чому я відкрив його як open‑source. Я вважаю його дуже корисним і він може принести реальну цінність, тому хочу, щоб усі могли його використовувати. Знаючи це, перегляньте fm на GitHub зараз!