CtagsとVimを使ってJavaScriptのコードリーディング
30th
Macに始めから付属しているctagsは古いので、portでインストール。
$ sudo port install ctags
ナイスなことにExuberant Ctagsも一緒にインストールされたみたい。
で、そのままCtagsにかけると、
function() { ... }
は解析されるけど、
var Klass = function() { ... };
Klass.prototype = {
init: function() { ... }
}
のような書き方になってると解析されない。
これでは、Jquery等のライブラリが解析できないので、こちらを参考に、~/.ctagsに以下を記述する。
-regex-javascript=/^[ \t]*(['"]?)([A-Za-z0-9_.]+)\1[ \t]*[:=][ \t]*function[ \t]*\(/\2/I,inner/i
--langmap=javascript:.js
--regex-javascript=/^(.*).prototype *= *(.*)/\1/p,prototype/
--regex-javascript=/^[ \t]*(.*) *: *function/\1/m,method/
--regex-javascript=/^[ \t]*(var | *)(.*) *= *{/\2/o,object/
普通にtagファイルを作る。
$ ctags *.js
taglist.vimで表示するために、.vimrcに以下を追記。
let g:tlist_javascript_settings = 'javascript;v:var;c:class;p:prototype;m:method;f:function;o:object'
これでVimでJSファイルを開いて「:Tlist」を打てば、左側に「クラス、メソッド、関数、オブジェクト」の一覧が表示されます。
1000行超えてくるようなソースを追う場合、超便利です。
ま、Eclipseだとプラグイン入れるだけでリスト出してくれますけど。
TrackBack URL :