Christian Kruse: Syntax-Highlighting im Moment generell defekt?

Beitrag lesen

你好 Gernot,

schade... die (zudem völlig überflüssigen) Kommentare verhindern - ohne
erneute Code-Angabe - das Syntax-Highlighting.

Nein, das hat damit nichts zu tun. Das war nur ein Problem, wenn man
die Blöcke nicht verschachtelt, sondern hintereinander setzt, so wie ich
hier:

https://forum.selfhtml.org/?t=103418&m=636960

In deinem Posting hatte ich einen Bug, der bereits behoben ist. De Fakto
ist es besser, Code-Bloecke zu verschachteln und nicht hintereinander zu
packen¹, aber es fuehrt nicht dazu, dass nichts mehr geht, im Gegenteil,
das klappt problemlos. Cybaer hat nur halt einfach sein CSS nicht als
solches ausgezeichnet, sondern alles in den lang=html-Block reingepackt.

¹Die verschiedenen Code-Bloecke werden der Reihenfolge nach von innen nach
aussen abgearbeitet. Beispiel:

{code lang=html}
{code lang=javascript}
{/code}
{/code}
{code lang=c}
{/code}

Hier wird zuerst der JavaScript-Block bearbeitet, dann wird dessen Ergebnis
genommen und als HTML-Block verarbeitet. Danach kommt der C-Block dran.
Soweit erstmal zur Funktionsweise des BBCode-Parsers. Das Wissen ist
noetig, um das folgende zu verstehen:

Das Syntax-Highlighting funktioniert mit einer Art Stack-Maschine. Aufgrund
bestimmter Patterns (z. B. <!-- fuer Kommentare) kann man einen “Frame” auf
den Stack packen und bei einem anderen bestimmten Pattern wieder verlassen
(z. B. --> fuer Ende des Kommentars). Macht man nun eine folgende Struktur:

{code lang=html}
...
<!--{/code}
{code lang=javascript}
{/code}
{code lang=html}-->
...
{/code}

dann ist der Parser am Ende des ersten HTML-Blocks im Status "Kommentar".
Den muss er jetzt allerdings verlassen, weil der Block zuende ist, das
heisst also, die Auszeichnung fuer Kommentare wird geschlossen. Dann
beginnt der JavaScript-Block, soweit OK. Danach kommt wieder ein HTML-Block.
Der beginnt mit -->, was eigentlich noch als Kommentar ausgezeichnet werden
muesste. Da aber der Highlighter im falschen Status ist (naemlich dem
Start-Status) und nicht weiss, dass er sich eigentlich im Kommentar-Status
sein sollte, wird es auch nicht als Kommentar ausgezeichnet, sondern
schlicht ignoriert, weil es ein Pattern ist, das keinen Sinn ergibt.

Ich hoffe, jetzt ist klar, warum fuer eine korrekte[tm] Auszeichnung
verschachtelte {code}-Bloecke sinnvoller sind.

Im Moment scheint aber gar nichts zu funktionieren mit dem
Syntax-Highlighting, offensichtlich weil überall das lang-Attribut
verschwunden ist.

Nein, das funktioniert einwandfrei ;-) Du hast es in deiner
User-Konfiguration nur schlicht und ergreifend ausgeschaltet *hrhr*

再见,
克里斯蒂安

--
Kommt ein Vektor zur Drogenberatung: "Hilfe, ich bin linear abhaengig!"
0 54

Tabelle teilweise ausblenden

Kalle_Worms
  • css
  1. 0
    Eternius
  2. 1
    Gernot Back
    1. 0
      Dennis
      1. 1
        Tim Tepaße
        1. 0
          Dennis
          1. 0
            Christian Seiler
            1. 0
              Dennis
      2. 0
        Sebastian Salzgeber
        1. 1
          Tim Tepaße
    2. 0
      Gernot Back
      1. 0
        molily
      2. 0
        Cybaer
        • javascript
        1. 0

          Tabelle teilweise - Version 3

          Gernot Back
          • css
          1. 0

            Tabelle teilweise - Version 4

            Cybaer
            1. 0
              Gernot Back
              1. 0
                Cybaer
            2. 0
              Ingo Turski
              • zu diesem forum
              1. 0
                Cybaer
                1. 0
                  Ingo Turski
                  1. 0
                    Christian Kruse
                  2. 0
                    Cybaer
                    1. 0
                      Ingo Turski
                      1. 0
                        Cybaer
                        1. 0
                          Ingo Turski
                          1. 0
                            Cybaer
                            1. 0
                              Ingo Turski
                              1. 0
                                Cybaer
              2. 0

                Syntax-Highlighting im Moment generell defekt?

                Gernot Back
                1. 1
                  Christian Kruse
                  1. 0
                    MudGuard
  3. 1
    Tim Tepaße
    • html
    1. 0
      Gernot Back
      1. 0
        Ashura
      2. 1
        Tim Tepaße
        1. 0
          Gernot Back
          1. 0

            Codeansicht

            Ingo Turski
            • zu diesem forum
            1. 1
              Tim Tepaße
              1. 0
                Ingo Turski
              2. 0
                Gernot Back
                1. 0
                  Tim Tepaße
                  1. 0
                    Gernot Back
                    1. 0
                      Ashura
                    2. 0
                      MudGuard
                      1. 0
                        Gernot Back
                        1. 0
                          Christian Kruse
                          1. 0
                            MudGuard
                            1. 0
                              Christian Kruse
            2. 0
              Christian Kruse
  4. 0
    Gunnar Bittersmann
    1. 0
      Gernot Back
      • javascript
      1. 0
        Cybaer
    2. 0
      Kalle_Worms
      1. 0
        Gunnar Bittersmann