RSpecバンドルがrubyforge.orgからmacromates.comのリポジトリに移行して構成自体も変更されたんですが、最も影響度が高いのはrspecのscopeが出来た事。つまりバンドルにLanguageパートが出来て独立した言語として扱うようになった。spec.rbで終わるファイルはRSpecにバインドされる。
ところがhoge_spec.rbなファイルを開いてもターゲットがRailsになってしまう。
手動でRSpecにすると今度はRailsファイルがRubyになる。で、Railsにするとhoge_spec.rbがRailsに戻る。これの繰り返しで
お兄ちゃん生きてる気がしないんだよーー!!
と思ってたら
macromates.comのブログに見事な回答が。
まず手動でバインドされてる情報を消す。
defaults delete com.macromates.textmate OakLanguageFileBindings
で、RailsのLanguageのfileTypesを
fileTypes = ( 'rxml', 'rb' );
こうすると解決。
fileTypesの変更のみでいいかもしれない。rbが入ってないのは予想外だった。
ただこれだとRubyスクリプトは全てRails扱いになる(はず)。
rbを入れなかった理由はこれっぽい。
とはいえscopeはrubyを含んでる(source.ruby.rails)ので実害は今のところ無いです。
Presently there is no way to make the binding only for Rails projects, but as the Ruby on Rails grammar is a superset of the Ruby grammar, it shouldn’t be that big a problem.
っちゅーことですね。