CtagsとVimを使ってJavaScriptのコードリーディング

posted by cheesepie on 2009.06.16, under javascript, vim
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だとプラグイン入れるだけでリスト出してくれますけど。

Comments are closed.

TrackBack URL :

pagetop