cloc 20151007.201(in MELPA)
count lines of code over emacs buffers

概要

cloc.elcloc(sourceforge) のEmacsインターフェースです。

clocとは、与えられたソースコードを言語別に分類し、
空行・コメント行・コード行を出力するPerlスクリプトです。

M-x cloc を実行すると、ファイル名の正規表現を訊かれ、
開かれているバッファの各ファイル名においてclocを実行し、
エコーエリアに結果を表示します。

たとえば、elispファイル4つ、C言語ファイル1つが開かれていて
正規表現「.」を指定した場合は

      20 text files.
classified 20 files
      20 unique files.                              
      16 files ignored.

http://cloc.sourceforge.net v 1.60  T=0.03 s (156.9 files/s, 395702.1 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Lisp                             4            589           1174           5815
C                                1            782            693           3556
-------------------------------------------------------------------------------
SUM:                             5           1371           1867           9371
-------------------------------------------------------------------------------

となります。

C-u M-x cloc はカレントバッファにおいてclocを実行します。

clocの結果を属性リストとして得る
cloc-get-results-as-plists 関数も用意されています。

これはclocの結果を使ってelispで加工するときに便利です。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてclocを使う方は
以下のコマンドを実行します。

M-x package-install cloc

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name cloc


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。