ローカルでも GitHub でお馴染みの「使用言語割合」を表示する「github-linguist」
GitHub でリポジトリを開くと、画面上部にリポジトリ内で使われているプログラミング言語の割合が表示される。例えばこのブログのアセットを管理しているリポジトリだとこんな感じ。
- GitHub - Neos21/hatena-blogs: @neos21/hatena-blogs : はてなブログのテーマやカスタム HTML などを保存しておくリポジトリ
- CSS : 62.1%
- JavaScript : 21.2%
- HTML : 16.7%
このような、使用言語別の割合をローカルのディレクトリでも検査できないか調べてみたところ、GitHub がこの機能の CLI ツールを出していた。github-linguist というツールだ。
「Ruby : 67.7%」ということで Ruby 製のツール。インストールも $ gem install github-linguist
で行える。
インストールに失敗した場合は
まっさらな MacOS Mojave で $ gem install github-linguist
と実行したところ、Permission 関連のエラーが出てしまった。どうやら MacOS にデフォルトで入っている Ruby はシステム領域にインストールされているので、RubyGems のインストールなどでつまづくようだ。
そこで、以下の文献を参考に rbenv をインストールし、Ruby v2.6.3 をグローバルに設定した。$ which ruby
で確認すると、コレまでは /usr/bin/ruby
を見ていたのが、/Users/【ユーザ名】/.rbenv/shims/ruby
と、rbenv でインストールしたところが見えるようになっていたら OK。
この状態で gem install
をやり直したら正常にインストールできた。
使い方
インストール後、検査したいディレクトリに移動し、$ github-linguist
コマンドを実行するだけ。ただし条件があって、対象のディレクトリは Git 管理されていないといけない。
github-linguist はディレクトリ配下のファイルを見ているのではなく、Git のログを見ているのだ。だから極端な話、実ファイルの有無はどうでもよく、git add
・git commit
された内容だけ分かれば良いのだ。
というワケで、Git 管理していないディレクトリで検査したい場合は、以下のように Git 管理を始め、全てのファイルをコミットした後でないと、割合を表示してくれない。
$ git init
$ git add .
$ git commit -m 'github-linguist'
# 正しく実行できるようになる
$ github-linguist
以上。