2010-06-29 4 views
5

Ich versuche, einige CSS-Hervorhebung in Textmate zu erweitern. Mein Ansatz ist so ...Textmate-Syntax-Hervorhebung, Erweiterung Hervorhebung aus einer anderen Sprache

{ 
    .... 
    patterns = (
     { include = 'source.css'; }, 
     { 
      name = 'support.function'; 
      match = '\..*\);'; 
     }, 
    ); 
} 

Das Problem ist "include = 'source.css';". Wenn ich diese Zeile entferne. Mein Custom Matcher trifft und wendet die erwartete Hervorhebung an. Aber dann verliere ich alle vordefinierten CSS-Hervorhebungen, die ich möchte.

Ich bin verwirrt, wie ich die vorhandene css-Hervorhebung überschreiben kann, die ich einschließe. Ideen?

Antwort

4

Ich hatte ein ähnliches Problem. Ich knallte meinen Kopf dagegen, dann hat mich jemand im TextMate-IRC-Kanal zurechtgewiesen: Aus irgendeinem Grund (den ich vergessen habe) müssen Sie Ihre Sprachgrammatik neu einbinden.

jetzt Mein Muster sieht so aus

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

Um weitere Informationen zu diesem Beispiel hinzufügen, hier meine Sprache grammer für das Bundle ist ich war die Schaffung (in dem Teil der Datei, die ich interessiert war, alles war im Rahmen meta.rails.model. Vielleicht haben Sie nicht, dass in Ihrem CSS-Bundle.

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'; }, 
); 

}

Aber Sie sehen, dass die $ self-Deklaration die anderen Muster in das meta.rails.model-Muster hineinzieht (was ich denke, warum das wichtig war).

+1

Perfekt, genau das, was ich gesucht habe. –

Verwandte Themen