フォーマッタ (FM)

プロジェクトのGitHubリポジトリ

問題

コードをきれいで整理された状態に保つのが好きなので、フォーマッタのファンです。しかし、IDE がフォーマットを処理する際の煩雑さや混乱が好きではなく、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 を広範に使用しており、私と一緒に働く多くの貢献者や協力者もそれを使用しています。だからこそオープンソースにしました。非常に有用で実際の価値を提供できると考えているので、全世界の誰もが使えるようにしたいです。ぜひ、GitHubfm をチェックしてください!