Ich möchte mal anmerken, dass bisher nur Unix-Escape-Sequenzen implementiert sind. Ich glaube nicht, dass die auch für Windows gelten. Für Windows werde ich die Veränderungen vermutlich über die Windows API handlen. Letztlich plane ich die Abstraktion soweit, dass man nur noch Dinge wie `State('bold')` oder `TextColor('yellow')` auf Bibliotheksebene hat. Die begonnene Grammatik wird letztlich wohl so enden, wie in diesem Beispiel:
`"blink,#yellow,uline,&green,!bold"` -> blinkende, unterstrichene Schrift in gelb mit grünem Hintergrund und deaktiviertem Fett-Modus
Bei der Syntax bleiben die eckigen Klammern bestehen. Verschachtelungen sind möglich. Das soll auch für verschachtelte Farben gelten.
Über kurz oder lang soll über die API auch der aktuelle Status des Cursors oder die Fähigkeiten abgefragt werden können (`is_bold()`, `can_blink()` usw.) und das halt für die unterschiedlichen Terminaltypen wie `xterm`, `libvte-based`, `wincon` etc.
Wenn, ja wenn, es einmal fertig ist, sollen auf beliebigen Plattformen ohne viel Aufwand diverse Features zur Textformatierung genutzt werden können. Sei es für Syntaxhighlighter (Farben) oder für Hilfetexte (z.B. Hervorheben einzelner Wörter, Hilfen zur Einrückung, Aufzählungszeichen oder Rahmen um einen Textabschnitt). Also mir fällt da noch jede Menge ein. Es muss nur umgesetzt werden.
