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を広範囲に使用しており、一緒に仕事をする多くのコントリビューターやコラボレーターもこれを使用しています。だからこそオープンソース化しました。非常に有用で実際に価値を提供できると思うので、世界中の人々が使えるようにしたいです。そんなわけで、今すぐGitHubでfmをチェックしてください!