Christian Kruse: Neuer Highlighter: Rouge statt Coderay

3 48

Neuer Highlighter: Rouge statt Coderay

Christian Kruse
  • zu diesem forum
  • zur info
  1. 0
    Matthias Apsel
    1. 0
      woodfighter
      1. 0
        Matthias Apsel
      2. 0
        Christian Kruse
      3. 1
        Christian Kruse
        1. 0
          woodfighter
          1. 0
            Christian Kruse
            1. 0
              woodfighter
              1. 0
                Christian Kruse
                1. 0
                  woodfighter
  2. 1
    Gunnar Bittersmann
    • bug
    • zu diesem forum
    1. 0
      woodfighter
      1. 0
        Der Martin
        1. 0
          woodfighter
          1. 0
            Der Martin
        2. 0
          Gunnar Bittersmann
          1. 0
            Gunnar Bittersmann
            1. 0
              woodfighter
              1. 0
                Gunnar Bittersmann
                1. 0
                  woodfighter
            2. 0
              woodfighter
              1. 0
                Gunnar Bittersmann
                1. 0
                  woodfighter
          2. 0
            Felix Riesterer
            1. 0
              Gunnar Bittersmann
              • menschelei
              1. 0
                Felix Riesterer
                1. 0
                  Der Martin
  3. 0
    Christian Kruse
  4. 0
    Gunnar Bittersmann
    1. 0
      Christian Kruse
      1. 0
        Gunnar Bittersmann
        1. 0
          Matthias Apsel
          1. 0
            Auge
            • zu diesem forum
            1. 0
              Der Martin
            2. 0
              Matthias Apsel
    2. 0
      Mitleser
      1. 0
        Gunnar Bittersmann
        1. 0
          dedlfix
          1. 0
            Gunnar Bittersmann
            1. 0
              dedlfix
              1. 0
                Gunnar Bittersmann
                1. 0
                  woodfighter
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      woodfighter
  5. 0
    Gunnar Bittersmann
    1. 0
      woodfighter
      1. 0
        woodfighter

Hallo alle,

ich habe heute auf einen neuen Syntax-Highlighter umgestellt. Bisher wurde Coderay verwendet; dort gab es aber, trotz umfassender Community-Aktivität in Form von Issues und Pull Requests, seit etwa einem Jahr keinerlei Aktivität. Ich halte diese Bibliothek für tot.

Deshalb habe ich heute auf Rouge umgestellt. Sieht etwas anders aus, kann aber viel mehr Sprachen, unter anderem ist auch Perl wieder dabei. Ich nutze das Github-Theme – bei Bedarf kann das aber durchaus umgestellt werden, im Prinzig[tm] geht jedes Pygments-Theme.

LG,
CK

  1. Hallo Christian Kruse,

    Deshalb habe ich heute auf Rouge umgestellt. Sieht etwas anders aus,

    aber nicht unbedingt schlechter.

    Bis demnächst
    Matthias

    --
    Das Geheimnis des Könnens liegt im Wollen. (Giuseppe Mazzini)
    1. Tach,

      Deshalb habe ich heute auf Rouge umgestellt. Sieht etwas anders aus,

      aber nicht unbedingt schlechter.

      Code in nicht unterstützten Sprachen

      ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
      

      hat im Moment ein anderes Design, als eine fehlende Sprachangabe

      ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
      

      Das ist zwar einerseits nett, weil man sieht, dass etwas nicht so funktioniert wie geplant (z.B. bei Tippfehlern), aber andererseits inkonsistent.

      mfg
      Woodfighter

      1. Hallo woodfighter,

        Tach,

        Deshalb habe ich heute auf Rouge umgestellt. Sieht etwas anders aus,

        aber nicht unbedingt schlechter.

        Code in nicht unterstützten Sprachen

        ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
        

        hat im Moment ein anderes Design, als eine fehlende Sprachangabe

        ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
        

        Das ist zwar einerseits nett, weil man sieht, dass etwas nicht so funktioniert wie geplant (z.B. bei Tippfehlern), aber andererseits inkonsistent.

        mfg
        Woodfighter

        Bis demnächst
        Matthias

        --
        Das Geheimnis des Könnens liegt im Wollen. (Giuseppe Mazzini)
      2. Hallo woodfighter,

        Code in nicht unterstützten Sprachen

        ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.
        

        hat im Moment ein anderes Design, als eine fehlende Sprachangabe

        Das ist ein Bug.

        LG,
        CK

      3. Hallo woodfighter,

        [x] fixed.

        LG,
        CK

        1. Tach,

          [x] fixed.

          und jetzt wo das CForum Brainfuck-Code (ich hätte doch Ook wählen sollen, aber das Beispiel war mir zu lang) enthält, sollte auch die Unterstützung dafür im Highlighter nur noch eine Frage der Zeit sein…

          Danke
          Woodfighter

          1. Hallo woodfighter,

            und jetzt wo das CForum Brainfuck-Code (ich hätte doch Ook wählen sollen, aber das Beispiel war mir zu lang) enthält, sollte auch die Unterstützung dafür im Highlighter nur noch eine Frage der Zeit sein…

            Warum, arbeitest du an einem Patch für Upstream? ;-)

            LG,
            CK

            1. Tach,

              und jetzt wo das CForum Brainfuck-Code (ich hätte doch Ook wählen sollen, aber das Beispiel war mir zu lang) enthält, sollte auch die Unterstützung dafür im Highlighter nur noch eine Frage der Zeit sein…

              Warum, arbeitest du an einem Patch für Upstream? ;-)

              da gibts ja nicht so viel zu lexen:

              module Rouge
                module Lexers
                  class Brainfuck < RegexLexer
                    title 'brainfuck'
                    desc 'Lexes brainfuck'
                    filenames '*.b'
                    mimetypes 'text/x-brainfuck'
                    state :root do
                      rule(/[<>.,+-\[\]]/, Operator)
                      rule(/[^<>.,+-\[\]]/, Comment)
                    end
                  end
                end
              end
              

              Also, wenn ich korrekt verstehe, wie das funktioniert und die Syntax nicht irgendwo kaputt gemacht habe.

              mfg
              Woodfighter

              1. Hallo woodfighter,

                da gibts ja nicht so viel zu lexen:

                Das ist mir bewusst, war aber nicht meine Frage ;-) das Code schreiben ist ja auch die wenigste Arbeit. Es muss Testcases dafür geben, du musst mit dem Autor kommunizieren und auf Änderungswünsche eingehen, etc, pp.

                LG,
                CK

                1. Tach,

                  Das ist mir bewusst, war aber nicht meine Frage ;-) das Code schreiben ist ja auch die wenigste Arbeit. Es muss Testcases dafür geben, du musst mit dem Autor kommunizieren und auf Änderungswünsche eingehen, etc, pp.

                  das ist mir bewusst, deswegen landet der Code ja auch nur hier im Forum und nicht in einem Pull-Request (mal davon abgesehen, dass ich als Maintainer einen solchen vermutlich eh ablehnen würde).

                  mfg
                  Woodfighter

  2. @@Christian Kruse

    ich habe heute auf einen neuen Syntax-Highlighter [Rouge] umgestellt.

    Ist der buggy‽ Kein Syntax-Highlighting bei PHP-Quelltext

    Inline: $Rouge.syntaxHighlighting === none;

    Block:

    $Rouge.syntaxHighlighting === none;
    

    Syntax-Highlighting geht nur dann, wenn <?php vorangestellt wird …

    <?php
    $Rouge.syntaxHighlighting === none;
    

    … was nicht dem allgemeinen Anwendungsfall entspricht.

    Einen Syntax-Highlighter, der bei PHP versagt, finde ich für dieses Forum ungeeignet.

    LLAP 🖖

    --
    „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
    „Hat auf dem Forum herumgelungert …“
    (Wachen in Asterix 36: Der Papyrus des Cäsar)
    1. Tach,

      $Rouge.syntaxHighlighting === none;
      

      Syntax-Highlighting geht nur dann, wenn <?php vorangestellt wird …

      <?php
      $Rouge.syntaxHighlighting === none;
      

      … was nicht dem allgemeinen Anwendungsfall entspricht.

      … aber prinzipiell korrekt ist.

      Einen Syntax-Highlighter, der bei PHP versagt, finde ich für dieses Forum ungeeignet.

      Ein entsprechender Bug (mit prinzipieller Lösung, allerdings nicht für Kramdown) existiert schon bei Rouge: https://forum.selfhtml.org/self/2016/jan/20/rouge-und-php/1659137#m1659137.

      mfg
      Woodfighter

      1. Hallo,

        $Rouge.syntaxHighlighting === none;
        

        Syntax-Highlighting geht nur dann, wenn <?php vorangestellt wird …

        <?php
        $Rouge.syntaxHighlighting === none;
        

        … was nicht dem allgemeinen Anwendungsfall entspricht.

        … aber prinzipiell korrekt ist.

        IMO nicht. Ein Syntax-Hilighting sollte schon nach den Regeln der angegebenen Sprache markieren und hervorheben, auch ohne dass die Sprache im Code-Teil nochmal explizit deklariert wird. Javascript-Hilighting funktioniert ja auch ohne das einleitende <script> im Code-Block, und HTML auch ohne ein öffnendes <html> oder eine DOCTYPE-Deklaration.
        Sinngemäß das gleiche würde ich bei PHP auch erwarten.

        Ein entsprechender Bug (mit prinzipieller Lösung, allerdings nicht für Kramdown) existiert schon bei Rouge: https://forum.selfhtml.org/self/2016/jan/20/rouge-und-php/1659137#m1659137.

        Gut. Dann heißt es also abwarten und Kaffee trinken (Tee ist nicht so mein Ding).
        Und ja, ich erinnere mich, dass das Thema vor ein paar Tagen schon einmal angesprochen wurde.

        So long,
         Martin

        1. Tach,

          Ein Syntax-Hilighting sollte schon nach den Regeln der angegebenen Sprache markieren und hervorheben, auch ohne dass die Sprache im Code-Teil nochmal explizit deklariert wird.

          das tut er ja (und wie gesagt, ich halte das auch für zu strikt), aber die PHP-Datei

          Hello World
          

          tut numal das selbe, wie die PHP-Datei

          <?php
          echo "Hello World"
          

          Rouge setzt hier standardmäßig diese Möglichkeit der Sprache korrekt um.

          mfg
          Woodfighter

          1. Hi,

            Ein Syntax-Hilighting sollte schon nach den Regeln der angegebenen Sprache markieren und hervorheben, auch ohne dass die Sprache im Code-Teil nochmal explizit deklariert wird.

            das tut er ja

            nein, tut er nicht.

            die PHP-Datei

            Hello World
            

            tut numal das selbe, wie die PHP-Datei

            <?php
            echo "Hello World"
            

            Ich kann die Argumentation nachvollziehen. Aber das impliziert, dass man jeglichen Text, der außerhalb von <?php ... ?> staht, auch schon als PHP-Code bezeichnen will. Und diese Denkweise halte ich für falsch. Es geht ja um Programmcode.

            Rouge setzt hier standardmäßig diese Möglichkeit der Sprache korrekt um.

            Tja, wie gesagt ... ich bin da anderer Ansicht. Der Rouge-Highlighter interpretiert das, was mit "php" gekennzeichnet ist, quasi generisch als Inhalt einer PHP-Datei anstatt spezifisch als PHP-Code. Und das finde ich nicht korrekt.

            So long,
             Martin

        2. @@Der Martin

          IMO nicht. Ein Syntax-Hilighting sollte schon nach den Regeln der angegebenen Sprache markieren und hervorheben, auch ohne dass die Sprache im Code-Teil nochmal explizit deklariert wird. Javascript-Hilighting funktioniert ja auch ohne das einleitende <script> im Code-Block, und HTML auch ohne ein öffnendes <html> oder eine DOCTYPE-Deklaration.
          Sinngemäß das gleiche würde ich bei PHP auch erwarten.

          Full ACK.

          Gut. Dann heißt es also abwarten und Kaffee trinken (Tee ist nicht so mein Ding).

          Dann zeichnen wir also PHP-Code mit ~~~php bzw. {: .language-php} aus – in dem Wissen, dass es momentan nicht gesyntaxhighlightet[1] wird; aber wenn irgendwer irgendwann (nachdem der Bug in Rouge gefixt wurde) das Posting im Archiv liest, es dann richtig ist.

          Und ja, ich erinnere mich, dass das Thema vor ein paar Tagen schon einmal angesprochen wurde.

          Huch, das ist an mir vorbeigegangen.

          LLAP 🖖

          PS: keine Sprache für den Code angegeben – was gibt’s denn da rot zu färben? Ah, rouge

          Screenshot Syntax-Highlighting in diesem Posting

          --
          „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
          „Hat auf dem Forum herumgelungert …“
          (Wachen in Asterix 36: Der Papyrus des Cäsar)

          1. Ich bin stolz auf diese Wortschöpfung. ↩︎

          1. @@Gunnar Bittersmann

            PS: keine Sprache für den Code angegeben – was gibt’s denn da rot zu färben? Ah, rouge

            Screenshot Syntax-Highlighting in diesem Posting

            Wenn man denn für {: .language-php} eine Sprache angibt, dann stellt Rouge das richtig dar.

            (Das muss keine bekannte Sprache sein, auch bei {: .language-a} ist die Darstellung richtig. Wichtig ist .language- gefolgt von ASCII-Zeichen. {: .language-aä} geht nicht.)

            Warum zum Geier will Rouge bei keiner angegebenen Sprache irgendwelche Regeln anwenden?

            Ich frag mich, was bei der Entwicklung von Rouge noch so alles schiefgelaufen ist.

            LLAP 🖖

            --
            „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
            „Hat auf dem Forum herumgelungert …“
            (Wachen in Asterix 36: Der Papyrus des Cäsar)
            1. Tach,

              Warum zum Geier will Rouge bei keiner angegebenen Sprache irgendwelche Regeln anwenden?

              die Lexer von Rouge können Heuristiken zum Erkennen der Sprache enthalten, das hilft dabei Codeblöcke, bei denen keine Sprache angegeben ist, zu färben. Siehe z.B. folgendes Beispiel:

              #!/bin/bash
              if [ true ]; echo "juhu"; fi
              

              mfg
              Woodfighter

              1. @@woodfighter

                die Lexer von Rouge können Heuristiken zum Erkennen der Sprache enthalten, das hilft dabei Codeblöcke, bei denen keine Sprache angegeben ist, zu färben.

                Also eine Abwägung false positive vs. false negative: bei keiner Angabe nicht färben – oder raten, auf die Gefahr hin, falsch zu raten.

                Ich hätte vermutlich anders abgewägt: keine Angabe, also kein Syntax-Highlighting.

                LLAP 🖖

                --
                „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
                „Hat auf dem Forum herumgelungert …“
                (Wachen in Asterix 36: Der Papyrus des Cäsar)
                1. Tach,

                  Also eine Abwägung false positive vs. false negative: bei keiner Angabe nicht färben – oder raten, auf die Gefahr hin, falsch zu raten.

                  Ich hätte vermutlich anders abgewägt: keine Angabe, also kein Syntax-Highlighting.

                  ich würde sagen, das hängt davon ab, wie die Heuristiken implementiert sind; wenn wie in meinem Beispiel Code mit einem Shebang beginnt, ist es i.A. kein Raten mehr, aber offenbar sind nicht alle Lexer so konservativ.

                  mfg
                  Woodfighter

            2. Tach,

              (Das muss keine bekannte Sprache sein, auch bei {: .language-a} ist die Darstellung richtig. Wichtig ist .language- gefolgt von ASCII-Zeichen. {: .language-aä} geht nicht.)

              der richtige Weg zu keinem Highlighting wäre übrigens {:.language-plaintext} oder {:.language-text}, dann musst du dich nicht darauf verlassen, dass kein Alias für deinen gewählten String existiert.

              mfg
              Woodfighter

              1. @@woodfighter

                der richtige Weg zu keinem Highlighting wäre übrigens {:.language-plaintext} oder {:.language-text}

                Der richtige™ Weg zu keinem Highlighting wäre:

                Nur dass Rouge das anders sieht.

                LLAP 🖖

                --
                „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
                „Hat auf dem Forum herumgelungert …“
                (Wachen in Asterix 36: Der Papyrus des Cäsar)
                1. Tach,

                  der richtige Weg zu keinem Highlighting wäre übrigens {:.language-plaintext} oder {:.language-text}

                  Der richtige™ Weg zu keinem Highlighting wäre:

                  das ist eine der legitimen Meinungen.

                  mfg
                  Woodfighter

          2. Lieber Gunnar,

            [gesyntaxhighlightet] Ich bin stolz auf diese Wortschöpfung.

            https://www.google.de/?q=gesyntaxhighlightet

            Liebe Grüße,

            Felix Riesterer.

            1. @@Felix Riesterer

              [gesyntaxhighlightet] Ich bin stolz auf diese Wortschöpfung.

              https://www.google.de/?q=gesyntaxhighlightet

              Ich sag ja nicht, dass es meine gewesen wäre. ;-)

              Und ich folge keinen Links zu “dangerous services” (Edward Snowden).

              LLAP 🖖

              --
              „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
              „Hat auf dem Forum herumgelungert …“
              (Wachen in Asterix 36: Der Papyrus des Cäsar)
              1. Lieber Gunnar,

                Und ich folge keinen Links zu “dangerous services” (Edward Snowden).

                ich hätte jetzt nicht gewusst, wie ich Dir eine Ergebnisseite auf ixquick verlinken müsste.

                Liebe Grüße,

                Felix Riesterer.

                1. Halo Felix,

                  Und ich folge keinen Links zu “dangerous services” (Edward Snowden).

                  ich hätte jetzt nicht gewusst, wie ich Dir eine Ergebnisseite auf ixquick verlinken müsste.

                  tja, das hatte ich beim Ausprobieren im letzten November auch schon als gravierenden Nachteil festgestellt, der ixquick für mich unbrauchbar macht.

                  So long,
                   Martin

  3. Hallo alle,

    ich habe den Hochlichter ein weiteres mal ausgetauscht und verwende nun Pygments. Das ist der wohl bekannteste Hochlichter, allerdings in Python geschrieben. Technisch funktioniert das so, dass pygmentize als long-running process gestartet wird und der Code dort hinein gepiped wird. Heraus kommt das HTML.

    Mal sehen, ob es damit insgesamt besser klappt…

    LG,
    CK

  4. @@Christian Kruse

    Gibt es irgendwo eine Liste, welche Sprachen der verwendete Syntax-Highlighter (welcher ist das zur Zeit noch gerade?) unterstützt?

    Ich hab gereade json probiert – Fehlanzeige. Irgendiwe blöd, wenn für Code eine falsche Sprache angeben muss, nur damit das Syntax-Highlighting nicht versagt.

    LLAP 🖖

    --
    „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
    „Hat auf dem Forum herumgelungert …“
    (Wachen in Asterix 36: Der Papyrus des Cäsar)
    1. Hallo Gunnar,

      Gibt es irgendwo eine Liste, welche Sprachen der verwendete Syntax-Highlighter (welcher ist das zur Zeit noch gerade?) unterstützt?

      Ich habe Pygments doch verlinkt.

      LG,
      CK

      1. @@Christian Kruse

        Gibt es irgendwo eine Liste, welche Sprachen der verwendete Syntax-Highlighter (welcher ist das zur Zeit noch gerade?) unterstützt?

        Ich habe Pygments doch verlinkt.

        Sicher hast du das in irgendeinem Posting. Ich hatte nur keinen Anhaltspunkt, wonach ich suchen sollte.

        Der verwendete Syntax-Highlighter sollte auch in der Hilfe bei der Formatierung Ihrer Beiträge erwähnt sein.

        LLAP 🖖

        --
        „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
        „Hat auf dem Forum herumgelungert …“
        (Wachen in Asterix 36: Der Papyrus des Cäsar)
        1. Hallo Gunnar Bittersmann,

          Der verwendete Syntax-Highlighter sollte auch in der Hilfe bei der Formatierung Ihrer Beiträge erwähnt sein.

          Gute Idee - Mach ich.

          Bis demnächst
          Matthias

          --
          Das Geheimnis des Könnens liegt im Wollen. (Giuseppe Mazzini)
          1. Hallo

            Der verwendete Syntax-Highlighter sollte auch in der Hilfe bei der Formatierung Ihrer Beiträge erwähnt sein.

            Gute Idee - Mach ich.

            Als Forenbenutzer zu wissen, welcher Highlighter im Hintergrund arbeitet, halte ich für nett aber nebensächlich. Was ich wissen will, ist, welche Kennung ich für welche Sprache angeben muss. Bei HTML oder PHP erklärt sich das selbst, aber bei JavaScript habe ich wegen der mehrfachen Umstellungen in der letzten Zeit immer herumprobiert, ob sie nun „javascript“ oder eventuell auch „js“ heißt.

            Tschö, Auge

            --
            Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.
            Jan Koum, Mitgründer von WhatsApp, im Heise.de-Interview
            1. Hi,

              [...] aber bei JavaScript habe ich wegen der mehrfachen Umstellungen in der letzten Zeit immer herumprobiert, ob sie nun „javascript“ oder eventuell auch „js“ heißt.

              ich würde erwarten, dass beides geht, bin aber im alten Forum ab und zu auf die Nase gefallen. Denn meist habe ich aus Gewohnheit nur "js" angegeben und dann erst in der Vorschau gesehen, dass kein Highlighting stattfand.

              Hier geht jetzt wohl beides - sowohl "js" als auch ausgeschrieben "javascript".

              So long,
               Martin

            2. Hallo Auge,

              Als Forenbenutzer zu wissen, welcher Highlighter im Hintergrund arbeitet, halte ich für nett aber nebensächlich. Was ich wissen will, ist, welche Kennung ich für welche Sprache angeben muss. Bei HTML oder PHP erklärt sich das selbst, aber bei JavaScript habe ich wegen der mehrfachen Umstellungen in der letzten Zeit immer herumprobiert, ob sie nun „javascript“ oder eventuell auch „js“ heißt.

              Das sehe ich genauso. Ich hätte schon den Schwerpunkt auf die zur Verfügung stehenden Sprachen gelegt ;-)

              Bis demnächst
              Matthias

              --
              Das Geheimnis des Könnens liegt im Wollen. (Giuseppe Mazzini)
    2. Ich hab gereade json probiert – Fehlanzeige. Irgendiwe blöd, wenn für Code eine falsche Sprache angeben muss, nur damit das Syntax-Highlighting nicht versagt.

      JSON mit JavaScript-Highlighting zu fahren, klingt jetzt nicht gerade nach einem Totalschaden.

      1. @@Mitleser

        Ich hab gereade json probiert – Fehlanzeige. Irgendiwe blöd, wenn für Code eine falsche Sprache angeben muss, nur damit das Syntax-Highlighting nicht versagt.

        JSON mit JavaScript-Highlighting zu fahren, klingt jetzt nicht gerade nach einem Totalschaden.

        Das nicht. Aber JSON ist längt so universell, dass es nicht unbedingt was mit JavaScript zu tun hat.

        LLAP 🖖

        --
        „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
        „Hat auf dem Forum herumgelungert …“
        (Wachen in Asterix 36: Der Papyrus des Cäsar)
        1. Tach!

          JSON mit JavaScript-Highlighting zu fahren, klingt jetzt nicht gerade nach einem Totalschaden.

          Das nicht. Aber JSON ist längt so universell, dass es nicht unbedingt was mit JavaScript zu tun hat.

          Es bleibt aber immer dabei, dass es sich um die Javascript-Objekt-Notation handelt. Der Bezug zu Javascript wird also nicht aufgehoben, egal in welchem Umfeld es eingesetzt wird.

          dedlfix.

          1. @@dedlfix

            Das nicht. Aber JSON ist längt so universell, dass es nicht unbedingt was mit JavaScript zu tun hat.

            Es bleibt aber immer dabei, dass es sich um die Javascript-Objekt-Notation handelt. Der Bezug zu Javascript wird also nicht aufgehoben, egal in welchem Umfeld es eingesetzt wird.

            Dennoch hat JSON mit JavaScript so viel zu tun wie reguläre Ausdrücke mit PHP. Für beides (JSON und reguläre Ausdrücke) sollte ein Syntax-Highlighter IMHO entsprechende Sprachen anbieten.

            LLAP 🖖

            --
            „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
            „Hat auf dem Forum herumgelungert …“
            (Wachen in Asterix 36: Der Papyrus des Cäsar)
            1. Tach!

              Dennoch hat JSON mit JavaScript so viel zu tun wie reguläre Ausdrücke mit PHP.

              Äpfel und Birnen. Reguläre Ausdrücke haben ihren Ursprung weder in Syntax noch in Arbeitsweise in PHP. Beide Varianten (ereg und preg) stammen aus anderen Projekten. JSON hingegen hat einen Javascript-Hintergrund.

              dedlfix.

              1. @@dedlfix

                Dennoch hat JSON mit JavaScript so viel zu tun wie reguläre Ausdrücke mit PHP.

                Äpfel und Birnen. Reguläre Ausdrücke haben ihren Ursprung weder in Syntax noch in Arbeitsweise in PHP. Beide Varianten (ereg und preg) stammen aus anderen Projekten. JSON hingegen hat einen Javascript-Hintergrund.

                Dann ersetze „PHP“ in meiner Aussage durch „C“ oder was auch immer.

                Ich denke schon, dass Äpfel und Birnen hier Obst sind.

                LLAP 🖖

                --
                „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
                „Hat auf dem Forum herumgelungert …“
                (Wachen in Asterix 36: Der Papyrus des Cäsar)
                1. Tach,

                  Dennoch hat JSON mit JavaScript so viel zu tun wie reguläre Ausdrücke mit PHP.

                  Äpfel und Birnen. Reguläre Ausdrücke haben ihren Ursprung weder in Syntax noch in Arbeitsweise in PHP. Beide Varianten (ereg und preg) stammen aus anderen Projekten. JSON hingegen hat einen Javascript-Hintergrund.

                  Dann ersetze „PHP“ in meiner Aussage durch „C“ oder was auch immer.

                  und reguläre Ausdrücke durch was? Diese entstammen schließlich keiner Programmiersprache (auch wenn Perl hier vermutlich lange Zeit die Entwicklung angetrieben hat).

                  Nicht, dass ich ein JSON-Alias für einen Highlighter nicht sinnvoll fände.

                  mfg
                  Woodfighter

                  1. @@woodfighter

                    Dann ersetze „PHP“ in meiner Aussage durch „C“ oder was auch immer.

                    und reguläre Ausdrücke durch was?

                    Durch gar nichts. Die sind in dem Vergleich das Äquivalent zu JSON.

                    Diese entstammen schließlich keiner Programmiersprache (auch wenn Perl hier vermutlich lange Zeit die Entwicklung angetrieben hat).

                    Hm, dann wohl Perl statt C:

                    Dennoch hat JSON mit JavaScript so viel zu tun wie reguläre Ausdrücke mit Perl.

                    LLAP 🖖

                    --
                    „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
                    „Hat auf dem Forum herumgelungert …“
                    (Wachen in Asterix 36: Der Papyrus des Cäsar)
                    1. Tach,

                      Dennoch hat JSON mit JavaScript so viel zu tun wie reguläre Ausdrücke mit Perl.

                      im Moment ist JSON immer auch gültiges Javascript und die Datenstrukturen werden identisch interpretiert (zumindest identisch genug für einen Highlighter), reguläre Ausdrücke mögen zwar häufig aussehen wie (obfuscated) Perl (oder andersherum) aber der Inhalt (und die Bedeutung der Symbole) wäre wohl fast immer anders.

                      mfg
                      Woodfighter

  5. @@Christian Kruse

    Deshalb habe ich heute auf Rouge umgestellt. Sieht etwas anders aus, kann aber viel mehr Sprachen

    Aber mit PHP in HTML kommt der nicht so richtig klar‽

    LLAP 🖖

    --
    „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
    „Hat auf dem Forum herumgelungert …“
    (Wachen in Asterix 36: Der Papyrus des Cäsar)
    1. Tach,

      Deshalb habe ich heute auf Rouge umgestellt. Sieht etwas anders aus, kann aber viel mehr Sprachen

      Aber mit PHP in HTML kommt der nicht so richtig klar‽

      tja, ich vermute mal das läuft darauf hinaus, dass es kompliziert wird, wenn man einerseits Texte, die ohne beginnendes PHP-Tag starten, als PHP parsen möchte und gleichzeitig die vollen Sytaxmöglichkeiten von PHP ausnutzen möchte. Der aktuelle Parser ergänzt quasi ein „<?php“ zu Beginn des Blocks, wenn dieser als PHP markiert ist, so wie u.a. du es wolltest. Ohne einen Schalter, um zwischen diesen Varianten zu wählen, dürfte das kompliziert umzusetzen sein.

      mfg
      Woodfighter

      1. Tach,

        Ohne einen Schalter, um zwischen diesen Varianten zu wählen, dürfte das kompliziert umzusetzen sein.

        der Lexer kennt einen entsprechenden Schalter, ob man den aus einem Posting heraus setzen kann, ist dann nochmal eine andere Frage (meine Vermutung ist wie beim letzten Mal: im Moment nein).

        mfg
        Woodfighter