tokei - システムで使われている言語を解析
一つのシステムの中では複数のプログラミング言語が使われます。すべて同じ言語で統一されると言うことの方が少ないのではないでしょうか。機能やデバイスに合わせて最適な言語を選択することで、開発を高速化したり、プロジェクトがスムーズになったりします。 しかし一つのプロジェクトの中で各言語がどんな状態で存在するのかチェックするのは大事です。そこで使ってみたいのがtokeiです。
tokeiの使い方
tokeiはインストール後、コマンドを叩くだけで使えます。これはとあるプロジェクトの内容です。
$ tokei .
-------------------------------------------------------------------------------
Language Files Lines Code Comments Blanks
-------------------------------------------------------------------------------
JSON 14 14 14 0 0
Markdown 3 220 220 0 0
Rust 33 11970 8652 1632 1686
Shell 2 30 18 6 6
Plain Text 1 779 779 0 0
TOML 4 91 76 1 14
YAML 2 399 174 194 31
-------------------------------------------------------------------------------
Total 59 13503 9933 1833 1737
-------------------------------------------------------------------------------
プログラミング言語だけでなく、MarkdownやJSON、YAMLといったテキストファイルの種別も解析できています。解析される項目はファイル数、行数、コード、コメント、空白行となっています。
さらに出力フォーマットを指定できます。
$ tokei . --output json
{"Json":{"blanks":0,"code":14,"comments":0,"stats":[{"blanks":0,"code":1,"comments":0,"lines":1,"name":"./tests/ref/ll/size.json"},{"blanks":0,"code":1,"comments":0,"lines":1,"name":"./tests/ref/tmux_git_log/size.json"},{"blanks":0,"code":1,"comments":0,"lines":1,"name":"./tests/ref/fish_cc/grid.json"},{"blanks":0,"code":1,"comments":0,"lines":1,"name":"./tests/ref/fish_cc/size.json"},{"blanks":0,"code":1,"comments":0,"lines":1,"name":"./tests/ref/indexed_256_colors/grid.json"},..],"lines":399}}
JSONやYAML、XMLで出力した際にはより細かく結果が出るようになります。これを使うことで何らかのプロジェクト解析ツールと組み合わせることもできそうです。
tokeiはRust製のオープンソース・ソフトウェア(MIT License/Apache License 2.0)です。
Aaronepower/tokei: A program that allows you to count code, quickly.