タイポを見つけちゃおう
typosを使います。
typos --format brief --color always | ruby -e 'puts ARGF.readlines.sort_by{|l| l[/`.*?`/].size}'
複数行に分けると、
typos --format brief --color always |
ruby -e 'puts ARGF.readlines.sort_by{|l| l[/`.*?`/].size}'
です。これで、大半のOSSに対してタイポを発見できると思います。
これだと、コード本文ではなく、Changelogなどのタイポをたくさん見つけてしまう場合は、fdコマンドなどを使って、拡張子や除外ディレクトリを指定してみましょう。例えば、以下の例では、Crystalのファイル .cr
のみを検索し、lib
ディレクトリを除外します。
fd -E 'lib/*' -e cr \
| typos --format brief --color always --file-list - \
| ruby -e 'puts ARGF.readlines.sort_by{|l| l[/`.*?`/].size}'
タイポを発見できたらプルリクエストを送ってみよう
実際にCrystalに対して、上記のワンライナーで発見できたタイポ修正のプルリクエストを送って取り込んでもらいました。
何をしているのか?
何をしているのかというと、typosコマンドを使ってタイポを発見して、Rubyのワンライナーを使って、文字列の長い単語の順番に並び替えています。
長い単語の方がタイポの可能性が高いためです。
タイポ修正は、メンテナにとってもやさしいプルリクエスト
さて、タイポ修正はOSSへの貢献で最も簡単なものです。
そして、実はメンテナに対しても優しいプルリクエストなのです。
確かに、普段からたくさんのプルリクエストを受け取ってるメンテナの中には「なんだタイポ修正かよ……。」と思う方もいらっしゃるかもしれません。けれども、それはほんの一瞬の出来事です。
タイポフィックスのプルリクエストのレビューには、精神的なエネルギーがほとんど要りません。
さっと確認してポチッとマージボタンを押すだけです。
だからタイポ修正は、メンテナにとっても負担が少ない、やさしいプルリクエストなのです。
そしてタイポフィックスでも一回コミットすると、そのプロジェクトに対して少し愛着がわきます。
おすすめです。コミットしていこう。