Matthias Apsel: CSS Syntaxhighlighting erweitert

Om nah hoo pez nyeetz, alle!

Die CSS-Code-Hervorhebung kennt jetzt viele neue Eigenschaften und Pseudoklassen. Pseudoelemente werden in der Schreibweise mit 2 Doppelpunkten erkannt.

body {  
  border-radius: 10px;  
  background: -moz-linear-gradient(red, white);  
  background: white;  
}  
div:before {  
  content: "foo"  
}  
div::after {  
  content: "foo"  
}  
div:nth-child(3k+4) {  
  -moz-box-sizing: border-box;  
  box-sizing: border-box;  
}

Wer dies perfektionieren möchte, dem kann ich gern die entsprechende Suchmuster-Ressource zukommen lassen.

Matthias

--
Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Ara und Araber.

  1. Tach!

    -moz-box-sizing: border-box;
      box-sizing: border-box;

    Wer dies perfektionieren möchte, dem kann ich gern die entsprechende Suchmuster-Ressource zukommen lassen.

    Dazu müsste man wissen, wie das aussieht. Das Systaxhighlighting wird über Pattern-Dateien geregelt, deren Syntax, wie mir scheint, Eigenentwicklung plus Perl-Regexp ist. Für CSS sieht das zum Beispiel so aus (ohne deine neu hinzugefügten Dinge).

    Im Block "declarations" hab ich nun die Zeile

    onregexp "^-(?:moz|o|webkit|ms)-[A-Za-z_-]+(?=\s*:)" "declaration" "vendor"

    vor die andere onregexp-Zeile hinzugefügt. Das erkennt die Vendor-Präfixe und egal was dahinter kommt. "Vendorspezifisch" ist ja nicht auf offizielle Eigenschaften beschränkt.

    Ich hab jetzt mal den aktuellen Stand in ein Github-Repository geworfen: https://github.com/SELFHTML/cforum_patterns. Wer die Syntax versteht, kann gern Änderungen vorschlagen.

    Das Grundprinzip ist, dass nach einer paar allgemeinen Deklarationen (start, list), mit dem unter "start" genannten Block begonnen wird. Da stehen dann Anweisungen wie onstring, onstringlist und onregexp. Diese konsumieren ein jeweils fortlaufend ein Stück aus dem [code]-Block und haben drei Parameter, der erste ist der Text, der Name einer Liste mit Strings beziehungsweise das Regexp-Muster (mit ein paar escapenden \ drin), der/das erkannt werden muss. Dann folgt der Name des Folgeblocks (oder auch highlight und anderes). Der dritte Parameter ist der class-Name (für das CSS).

    dedlfix.

    1. Moin dedlfix,

      Ich hab jetzt mal den aktuellen Stand in ein Github-Repository geworfen: https://github.com/SELFHTML/cforum_patterns. Wer die Syntax versteht, kann gern Änderungen vorschlagen.

      Das habe ich bei euch beiden nicht verstanden. Warum habt ihr nicht besser einen Fork von meinem Repo gemacht und dort die Änderungen dann comited und via pull requests zurück fließen lassen? So muss jetzt entweder ich von Hand die Änderungen einpflegen oder das Projekt profitiert davon nicht.

      LG,
       CK

      1. Tach!

        Warum habt ihr nicht besser einen Fork von meinem Repo gemacht und dort die Änderungen dann comited und via pull requests zurück fließen lassen?

        Ok, werde ich noch machen.

        dedlfix.

        1. Moin dedlfix,

          Warum habt ihr nicht besser einen Fork von meinem Repo gemacht und dort die Änderungen dann comited und via pull requests zurück fließen lassen?

          Ok, werde ich noch machen.

          Danke :)

          LG,
           CK

          1. Tach!

            Warum habt ihr nicht besser einen Fork von meinem Repo gemacht und dort die Änderungen dann comited und via pull requests zurück fließen lassen?
            Ok, werde ich noch machen.
            Danke :)

            Das neue Repository ist wieder gelöscht, dafür gibts jetzt einen Fork vom cforum-upto-3.4 im Selfhtml-Bereich. Die Pattern liegen unter https://github.com/SELFHTML/cforum-upto-3.4/tree/3.4/conf/patterns. Bitte beachten, der master-Branch liegt brach, der 3.4 ist der aktuelle.

            dedlfix.