「Google JavaScript Style Guide」の文法チェックツール + vim で JavaScript の開発を2倍楽にする方法

Google が先日 JavaScript のコーディングスタイルガイド Google JavaScript Style Guide (邦訳) を発表しましたが、今度はその文法に沿ってチェックをしてくれる Lint ツール Closure Linter を公開したようです。

(via. 「Google JavaScript Style Guide」に沿ってチェックしてくれる、グーグル製JavaScript文法チェッカー)

早速インストールして開発効率を上げるべく、開発環境に導入してみたいと思います。

Closure Linter は python 製なので、easy_install でインストールできます。easy_install が入ってなければ、下記コマンドでインストールしましょう。

curl http://peak.telecommunity.com/dist/ez_setup.py | python

easy_install でインストール

easy_install http://closure-linter.googlecode.com/files/closure_linter-latest.tar.gz

デフォルトで下記の場所にインストールされました。

/usr/local/bin/gjslint

下記のようにファイル名を渡すと、(--strict オプションもあるようです)

gjslint foo.js

このように Lint 結果を表示してくれます。

Line 1, E:0010: (New error) Missing semicolon at end of line
Line 2, E:0002: Missing space before "="
Line 2, E:0002: Missing space after "="
Line 4, E:0002: Missing space before "("
Line 4, E:0002: Missing space after ";" in for statement
Line 4, E:0001: Extra space before ")"
Line 6, E:0006: (New error) Wrong indentation: expected any of {2} but got 3
Line 9, E:0121: Illegal comma at end of array literal
Line 12, E:0120: Binary operator should go on previous line "+"
Found 9 errors, including 2 new errors, in 1 files (0 files OK).

これだけで充分便利ですが、エディタ上でショートカット一発で文法チェックしてくれるともっと楽なので、vim で呼び出せるようにします。

.vimrc に以下を追記します。

autocmd FileType javascript noremap <buffer> <up> :<C-u>!/usr/local/bin/gjslint %<cr>

これで、JavaScript ファイルを開いている時にコマンドモード中に↑キーを押すとその場でチェックしてくれるようになりました。

[追記]
id:eagletmt さんがさらに便利な使い方を紹介して下さりました。
http://d.hatena.ne.jp/eagletmt/20100910/1284136430