project.vimでディレクトリツリーが更新されない。

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をクリアしろってことなんだろうか。

コメント

  1. sztm より:

    僕も最近rails.vimを使い始めて(というかRailsをいじくりはじめて)、今日はdb/migrateのファイル群が更新されなくてこまっていました。
    SaikyoLine.jpさんのおかげで助かりました。ありがとうございます。

  2. yoshuki より:

    こういう細かいことに限って調べようとすると時間をとられるんですよね。
    お役に立ってよかったです。

タイトルとURLをコピーしました