Imguicolortextedit
Syntax Hervorhebung des Texteditors für IMGui

Demo -Projekt: https://github.com/balazsjako/colortexteditordemo
Dies begann als mein Versuch, ein relativ einfaches Widget zu schreiben, das Textbearbeitungsfunktionalität mit Syntax -Hervorhebung bietet. Jetzt gibt es andere Mitwirkende, die wertvolle Ergänzungen anbieten.
Während es auf https://github.com/ocornut/imgui von Omar Cornut beruht, folgt es nicht dem "reinen" Ein -Widget - einem Funktionsansatz. Da der Herausgeber einen relativ komplexen und großen internen Zustand aufrechterhalten muss, schien es nicht praktisch zu sein, einen vollständigen sofortigen Modus durchzusetzen. Es speichert seinen internen Zustand in einer Objektinstanz, die über Frames hinweg wiederverwendet wird.
Der Code ist (noch) in Arbeit, bitte melden Sie, wenn Sie Probleme finden.
Hauptmerkmale
- NACHTUM TYPISCHE CODE -EDITOR SOUSE und FORME (Essential Maus-/Tastaturbefehle funktionieren - ich meine, die Befehle, die ich normalerweise verwende :))
- rückgängig gemacht/wiederholen
- UTF-8-Unterstützung
- Funktioniert sowohl mit festen als auch mit variablen Breitenschriften
- Erweiterbare Syntax -Hervorhebung für mehrere Sprachen
- Erkennungserklärungen: Ein kleines Stück Beschreibung kann einer Kennung verknüpft werden. Der Editor zeigt es in einem Tooltip an, wenn der Mauszeiger über die Kennung schwebt
- Fehlermarkierungen: Der Benutzer kann eine Liste von Fehlermeldungen zusammen angeben. Die Ereigniszeile. Der Editor wird die Zeilen mit rotem Rückschritt hochwertigen und die Fehlermeldung in einem Tooltip anzeigen, wenn der Mauscursor über die Zeile schwebt
- Große Dateien: Es gibt keinen expliziten Grenzwert auf der Dateigröße oder der Anzahl der Zeilen (unter 2 GB wird die Leistung nicht beeinflusst, wenn große Dateien geladen werden (außer Syntaxfärbung, siehe unten)
- Farbpalette -Unterstützung: Sie können zwischen verschiedenen Farbpaletten wechseln oder sogar Ihre eigenen definieren
- Whitespace -Indikatoren (Registerkarte, Speicherplatz)
Bekannte Probleme
- Syntax -hohe Zuordnung der meisten Sprachen - außer C/C ++ - basiert auf Std :: regex, was DiaSpPointly langsam ist. Aus diesem Grund wird der Hervorhebungsprozess zwischen mehreren Frames amortisiert. C/C ++ hat einen handgeschriebenen Tokenizer, der viel schneller ist.
Bitte veröffentlichen Sie Ihre Screenshots, wenn Sie diese kleine Software nützlich finden. :)
Beitragen
Wenn Sie einen Beitrag leisten möchten, beziehen Sie sich bitte auf die Datei bei.