[Neu] Syntax Highlighting für C



  • Hallo,

    dank der guten Arbeit von Dravere, gibt es nun ein neues Syntax-Highlighting. Für das C-Forum ist die wichtigste Neuigkeit, die Unterstützung von C im Syntax-Highlighter. Bisher mussten wir uns immer mit Syntax-Highlight für C++ abfinden.

    Mittels

    [code="c"]...[/code]

    kann man nun Code als C highlighten lassen. Dabei werden alle Keywords aus C90, C99 und C11 unterstützt. Die BB-Code-Tag Button Leiste sollte auch schon angepasst sein.

    _Bool *class;
    _Atomic(int) this;
    

    Weitere Infos: http://www.c-plusplus.net/forum/310187

    Dank an Dravere!


  • Administrator

    Ich gab und ich nahm. Mit der neuen Software nicht mehr unterstützt, kommt vielleicht wieder 😃



  • Jetzt muesste sich eigentlich ein mod ueber massive Nekromantie beschweren 🤔



  • @dravere In manchen Dokumentationen zu Markdown steht, daß hinter ``` der Name einer Sprache stehen kann. Nun gehe ich mal davon aus, daß es dafür für jede zu unterstützende Sprache ein entsprechendes Plugin braucht? Welcher Markdown-Dialekt wird hier im Forum eigentlich verwendet?

    Da durch die Migration der Daten des Forums alle verfügbaren Arten von [code]-Tags nach ``` übersetzt wurden, wird man das Syntaxhighlighting pro Sprache in die alten Beiträge wohl nie mehr hineinbekommen.


  • Gesperrt

    Dieser Beitrag wurde gelöscht!

  • Administrator

    @swordfish Nein, es benötigt nicht für jede Sprache explizit ein Plugin. Zumindest nicht in NodeBB. Was der Markdown-Parser macht, ist den Name der Programmiersprache in eine CSS Klasse umzuwandeln, wie dies auch vom HTML5 Standard vorgeschlagen wird: https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-code-element

    There is no formal way to indicate the language of computer code being marked up. Authors who wish to mark code elements with the language used, e.g. so that syntax highlighting scripts can use the right rules, can use the class attribute, e.g. by adding a class prefixed with "language-" to the element.

    Nach diesen CSS Klassen hält dann unser aktueller Highlighter (HighlightJS) ausschau und führt das Syntax-Highlighting durch. Der Syntax-Highlighter muss also einfach nur die Sprache unterstützen. Es könnte übrigens sein, dass wir den Highlighter auf PrismJS wechseln. Was uns dann auch wieder explizite Unterstützung für C geben sollte.

    Bei der Migration wurden die Sprachen übernommen. Ich habe das nicht verworfen, dadurch funktioniert das Highlighting in den alten Beiträgen weiterhin problemlos. Ein wenig was überlegt habe ich mir schon bei der Migration 😉

    Bezüglich Markdown-Dialekt verwenden wir grundsätzlich CommonMark mit ein paar Erweiterungen. Als Parser setzen wir Markdown-It ein. Wir haben zum Beispiel zusätzliche Unterstützung für:

    Feature Syntax Beispiel
    Tabellen GitHub erklärts Meta
    Hochgestellt normal^hoch^normal normalhochnormal
    Tiefgestellt normal~tief~normal normaltiefnormal
    Durchgestrichen ~~vonwegen~~ vonwegen
    LaTeX $\sum {x}$ x\sum {x}


  • Vielen Dank für Deine ausführliche Antwort!


Anmelden zum Antworten