Neues Syntax Highlighting


  • Administrator

    Hallo zusammen,

    In diesem Forum gibt es bereits seit sehr langem ein Syntax Highlighting. Dieses ist allerdings in die Jahre gekommen und entsprach nicht mehr neueren Anforderungen. Daher wurde es nun zu einem grossen Teil überarbeitet.

    Heute wurde die erste überarbeitete Version für alle aufgeschaltet. Damit kommen zahlreiche Neuerungen, welche ich euch hier kurz vorstellen möchte.

    1. Die Farben wurden bei allen bestehenden Sprachen etwas überarbeitet
    2. HTML und PHP haben eine deutlich bessere Unterstützung
    3. In HTML werden Javascript und CSS Blöcke der Sprache entsprechend hervorgehoben
    4. Die alten Tags der Sprache (cpp, cs, html, php, etc.) werden zwar noch unterstützt, gelten aber als veraltet
    5. Smilies werden im Syntax Highlighting nicht durch ihre Bilder ersetzt
    6. Die Codebox kommt nicht mehr in mehrfacher Ausführung zu eurem Browser. Dies heisst insbesondere, dass eine Textsuche über die Seite nicht versteckte Elemente im Syntax Highlighting findet
    7. Beim Verfassen eines Beitrages befinden sich alle Code-Tags als Buttons in der ersten Zeile gleich nach den Smilies
    8. Es werden neue Sprachen unterstützt: XML, XAML, CSS, Javascript, Delphi, C
    9. Alle Syntaxhervorhebungen können neu über [code="xxx"]...[/code] verwendet werden. Wobei xxx durch das entsprechende Kürzel der Sprache ersetzt werden soll
      Alle aktuell unterstützten Sprachen und ihre Kürzel:
    10. C: "c"
    11. C++: "cpp"
    12. C++/CLI: "cli"
    13. C#: "cs"
    14. CSS: "css"
    15. Plain Code: "text" oder keine Angabe
    16. HTML: "html"
    17. Java: "java"
    18. Assembler: "asm"
    19. Objective-C: "obc"
    20. PHP: "php"
    21. Java\1: "javascript"
    22. XML: "xml"
    23. XAML: "xaml"

    tl;dr

    Neues Syntax Highlighting.
    Neue unterstützte Sprachen: XML, XAML, CSS, Javascript, Delphi und C.
    [code="cpp"]...[/code] statt [cpp]...[/cpp] etc.

    Falls ihr Fehler findet oder Anregungen habt, dann bitte meldet diese.

    Grüssli



  • Super! ... und ich dacht' schon ich hätt' was an den Augen 😉



  • C89

    auto
    break
    case
    char
    const
    continue
    default
    do
    double
    else
    enum
    extern
    float
    for
    goto
    if
    int
    long
    register
    return
    short
    signed
    sizeof
    static
    struct
    switch
    typedef
    union
    unsigned
    void
    volatile
    while
    

    C99

    _Bool
    _Complex
    _Imaginary
    inline
    restrict
    

    C11

    _Alignas
    _Alignof
    _Atomic
    _Generic
    _Noreturn
    _Static_assert
    _Thread_local
    

    Keine Keywords

    bool
    int16_t
    

    Schön 🙂

    _Thread_local fehlt halt noch.


  • Administrator

    Tim schrieb:

    _Thread_local fehlt halt noch.

    Intern hinzugefügt, kommt hoffentlich bald für alle.

    Zudem zwei Bugs behoben:
    1. http://www.c-plusplus.net/forum/305654#2230120
    2. XAML Button fehlte noch beim Beitrag verfassen

    Grüssli



  • Dravere schrieb:

    Tim schrieb:

    _Thread_local fehlt halt noch.

    Intern hinzugefügt, kommt hoffentlich bald für alle.

    DAS IST EIN NOTFALL MANN!

    🤡



  • Und in C++ ist this auch nicht mehr blau:

    this this->haha
    

  • Mod

    Und schon gibt es das erste verwirrte Opfer:
    http://www.c-plusplus.net/forum/p2267924#2267924
    😃



  • Dravere schrieb:

    Tim schrieb:

    _Thread_local fehlt halt noch.

    Intern hinzugefügt, kommt hoffentlich bald für alle.

    Zudem zwei Bugs behoben:
    1. http://www.c-plusplus.net/forum/305654#2230120
    2. XAML Button fehlte noch beim Beitrag verfassen

    Ist deployed.



  • #define foobar
    
    "\"foobarbaz\"";
    

    Besteht die Chance, den Präprozessor noch in einer Farbe zu bekommen, die sich nicht so mit dem Rot von Literalen schlägt? Apropos Literale ... ist die Farbe bei escapten characters absicht?

    (sorry wg. kleinlichkeit ... )



  • Swordfish schrieb:

    Besteht die Chance, den Präprozessor noch in einer Farbe zu bekommen, die sich nicht so mit dem Rot von Literalen schlägt?

    Moechtest du gleich einen Vorschlag machen? (Probier am besten mit Stylebot oae. lokal herum.)

    Apropos Literale ... ist die Farbe bei escapten characters absicht?

    Ja. Und gar nicht unpraktisch:

    std::string foo = "\x42bar\\baz\03qux\"";
    std::string deadbeef = "\Udeadbeef";
    


  • Nö, Firebug + Firepicker 😉

    Präprozessor: #27882D
    Literale: #C90B0B
    Escaptes Zeugs: #0000FF (Keyword-Blau)



  • Hab eine eigene Ankündigung im C-Forum gemacht: http://www.c-plusplus.net/forum/310201



  • $a = "ab{$c}ba";
    
    $a = <<<EOT
    ab{$c}ba
    EOT;
    

    👎

    🤡


  • Administrator

    @zwutz,
    Das Problem ist mir bekannt. Habe ich mir angeschaut gehabt, aber es gab leider keine einfache Lösung, daher ist es derzeit so, wie es ist.

    Ich hoffe es ist aushaltbar 🤡

    @Incocnito,
    Interessant. Habe eine Vermutung, habe aber erst gegen Abend wieder die Möglichkeit, auf den Server zugreifen zu können.

    @Farben,
    Ich bin offen für gute Vorschläge. Wir können es aber auch nicht für alle recht machen. Zudem haben die Farben eigentlich eindeutige Klassen, wodurch jemand sich mit einem Userscript oder dergleichen auch eine eigene Anpassung machen kann.

    Grüssli


  • Administrator

    Zur Info:
    Das von Incocnito gemeldete Problem sollte inzwischen behoben sein.

    Grüssli


  • Mod

    Aus einem Thread im C++-Forum:

    #include <unistd.h> // oder was auch immer das Äquivalent auf Windows ist
                        // der Syntaxhighlighter ist offensichtlich auch nicht perfekt
    

  • Administrator

    SeppJ schrieb:

    Aus einem Thread im C++-Forum:

    #include <unistd.h> // oder was auch immer das Äquivalent auf Windows ist
                        // der Syntaxhighlighter ist offensichtlich auch nicht perfekt
    

    Kein Bug, sondern ein Feature :p
    Der Präprozessor ist einfacheshalber als Line-Comment mit eigener Farbe implementiert. Falls es wirklich öfters vorkommt und stört, könnte man schauen, ob man das beheben könnte.

    Grüssli


  • Mod

    Nun, vorgekommen und bemerkt worden ist es im letzten halben Jahr ungefähr einmal :p . Aber jetzt wo ich es gesehen habe, kann ich es natürlich nicht mehr ungesehen machen und wird mir in Zukunft ständig störend auffallen.



  • Wie wär's mit SQL?
    Ist natürlich doof weil's da so viele verschiedene Dialekte gibt, und viele kontextsensitive Keywords. Aber nice wäre es doch.



  • hustbaer schrieb:

    Wie wär's mit SQL?
    Ist natürlich doof weil's da so viele verschiedene Dialekte gibt, und viele kontextsensitive Keywords. Aber nice wäre es doch.

    Oracle PL/SQL Keywords, Microsoft T-SQL Keywords, PostgreSQL Keywords; Listen mit Keywords gibt es zumindest. Aber mir wird schlecht, wenn ich die sehe. Ich habe sie alle gehasst, und die unterschiede sind IMHO zu gross, als dass man von einer Sprache sprechen könnte.


Anmelden zum Antworten