rails.vim + project.vimでのはなし。
最初に:Rprojectでプロジェクトツリーを作り、:Rake db:migrateしたときに出来たディレクトリ(db/migrate)を反映しようと\Rしたのだけれどツリーに反映されなかった。
db=db {
schema.rb
}
↑こんな感じ。
db=dbの隣にfilter="**"を追加→\Rしたら反映されたのだけれど、なんか気持ち悪いのでソース(.vim/plugin/rails.vim)を確認したら、
3695 "let str = str . " components=components filter=\"**\" {\n }\n"
3696 let str = str . " config=config {\n environments=environments {\n }\n }\n"
3697 let str = str . " db=db {\n"
3698 if isdirectory(a:rr.'/db/migrate')
3699 let str = str . " migrate=migrate {\n }\n"
3700 endif
3701 let str = str . " }\n"
3702 let str = str . " lib=lib filter=\"* */**/*.rb \" {\n tasks=tasks filter=\"**/*.rake\" {\n }\n }\n"
ちゃんとロジックはあった。(すごいベタ書きっぷり)
どうやら:Rproject時点でのディレクトリ構成で決まってしまうみたい。
.vimprojectsのペインを空にして(1GdG)から:Rprojectをし直したら正しいツリーになった。
ディレクトリ構成が変わるたびに.vimprojectsをクリアしろってことなんだろうか。
コメント
僕も最近rails.vimを使い始めて(というかRailsをいじくりはじめて)、今日はdb/migrateのファイル群が更新されなくてこまっていました。
SaikyoLine.jpさんのおかげで助かりました。ありがとうございます。
こういう細かいことに限って調べようとすると時間をとられるんですよね。
お役に立ってよかったです。