ctagsが便利そうだったので使ってみることにする。
簡単に説明するとメソッドやクラスから簡単に定義元のソースへ jump できる感じです。
まず default のままだと ctags の language には actionscript がないので追加します。
~/.ctags をつくればいいので下記をコピペします。
--langdef=actionscript --langmap=actionscript:.as --regex-actionscript=/^[ \t]*[(private| public|static) ( \t)]*function[ \t]+([A-Za-z0-9_]+)[ \t]*\(/\1/f, function, functions/ --regex-actionscript=/^[ \t]*[(public) ( \t)]*function[ \t]+(set|get) [ \t]+([A-Za-z0-9_]+)[ \t]*\(/\1 \2/p,property, propertis/ --regex-actionscript=/^[ \t]*[(private| public|static) ( \t)]*var[ \t]+([A-Za-z0-9_]+)[ \t]*/\1/v,variable, variables/ --regex-actionscript=/.*\.prototype \.([A-Za-z0-9 ]+)=([ \t]?)function( [ \t]?)*\(/\1/ f,function, functions/ --regex-actionscript=/^[ \t]*class[ \t]+([A-Za-z0-9_]+)[ \t]*/\1/c,class, classes/ |
あとは簡単。
!/bin/sh echo 'Generating tags for spark ...' SPARK_DIR=~/repos/svn/spark/as3 ctags -f ~/.vim/tags/actionscript/spark.tags --recurse --totals \ --exclude=blib \ --exclude=.svn \ --exclude='*~' \ --languages=actionscript \ $SPARK_DIR/*/trunk/src $SPARK_DIR/as3/*/src |
こんな shell を作ります。
ちなみに sample や変なソースも見るとめんどうなので
{project}/src, {project}/trunk/src 以下のみを読み込むようにしました。
svn upしたタイミング、もしくは1日1回とかで更新すればいいと思います。
autocmd FileType actionscript :set tags=~/.vim/tags/actionscript/spark.tags |
あとは .vimrc に追記すると使えます。
感想は、まぢで便利!!!!!!!
ほんと Spark!!!!!!!!!!!!! できますw
デモ画像をのっとくんでイメージわくと幸いです。
デモ画像では Thread を使ってやってます。おかりいたします。。。
いあ〜満足!!!
*参考資料
http://vim-taglist.sourceforge.net/extend.html
http://archiva.jp/web/tool/vim_ctags.html