2010-06-29 16 views

cevap

4

Benzer bir sorunla karşılaştım. Başımı çarptım, sonra TextMate IRC kanalındaki bir kişi beni doğru bir şekilde belirledi: bir sebepten dolayı (dilediğim gibi) dil gramerinize yeniden sahip olmanız gerekiyor.

Benim desenler bölümü artık, benim ilgi dosyanın kısmen (

patterns = (
{ include = 'source.ruby'; }, 
{ include = '$self'; }, 
); 

Bu örnekte daha fazla bilgi eklemek için

gibi burada paket Ben yarattığım benim dil gramer olduğu görünüyor her şey kapsamı meta.rails.model oldu. Belki CSS pakette buna sahip değiliz.

patterns = (
    { name = 'meta.rails.model'; 
     comment = "Uses lookahead to match classes that (may) inherit from ActiveRecord::Base; includes 'source.ruby' to avoid infinite recursion"; 
     begin = '(^\s*)(?=class\s+.+ActiveRecord::Base)'; 
     end = '^\1(?=end)\b'; 
     patterns = (
      { include = 'source.ruby'; }, 
      { include = '$self'; }, 
     ); 
    }, 
    { name = 'source.ruby.rails.aasm.event'; 
     match = '(aasm_event\W*:\w+)'; 
     captures = { 1 = { name = 'keyword.other.context.ruby.rails.aasm.event'; }; }; 
    }, 
    { include = 'source.ruby.rails'; }, 
); 

}

Ama görüyorsunuz ki, $ self beyannamesi diğer modellerde meta.rails.model modeline (yani bence neden önemliydi) çekiyor.

+1

Mükemmel, tam olarak aradığım şey. –