Was ist der beste Weg, um die Syntax -Hervorhebung des Quellcode in Kakao zu implementieren? [abgeschlossen
-
09-09-2019 - |
Frage
Ich arbeite an der Kakaoanwendung, die in der Lage sein sollte, einen Quellcode wie Objective-C, SQL, JavaScript, Python usw. zu analysieren und hervorzuheben. Der Text sollte ebenfalls bearbeitbar sein (zum Beispiel mit NStextView).
Bitte geben Sie mit, was der beste Weg ist, um eine solche Funktion in Mac OS X 10.5 zu implementieren.
Es besteht keine Notwendigkeit, die automatische Vervollständigung und andere zusätzliche Merkmale zu unterstützen. Einfache Formatierung durch Schlüsselwörter, Zeichenfolgen, #Includes und Zahlen, aber mit cooler Leistung ist einfach in Ordnung.
Es wäre auch großartig, wenn die Konfiguration nach Sprachen unterstützt würde.
Vielen Dank!
Lösung
Bei der Vorbereitung eines Projekts, das etwas Ähnliches erfordert, habe ich Folgendes gefunden (habe sie jedoch nicht ausführlich bewertet):
- /Entwickler/Beispiele/OpenGL/Kakao/GLSLEDITORSample implementiert die Syntax -Hervorhebung.
- Idekit, „Ein Open-Source-Framework, das den Programmierer-Quellcode bearbeitet, einschließlich Syntaxfärbung, Popup-Funktionen und geteilten Frames“. Dies wurde seit einer Weile nicht aktualisiert (die Kompatibilität von 10.2 und 10.3 und mit einem Projektbuilder -Projekt ausgestattet - kann mit Xcode 2.5 konvertiert werden).
- UkSyntaxColoredTextDocument.
Andere Tipps
Ich würde Ahrumans Rat zweiten - speziell ansehen, wie Ulis UksyntaxColoredTextDocument in UksyntaxColoredTextdocument betrachtet wird, wie Sie in die richtige Richtung zeigen, welche Klassen usw. Sie müssen lernen.
Dies ist eine weitere hervorragende Informationsquelle:
http://www.cocoadev.com/index.pl?implementsyntaxHighlighting
Viel Glück - Syntax -Hervorhebung ist schwer zu richtig, aber viel Spaß auf dem Weg!
Ich musste kürzlich nach einer Syntax-Hervorhebungslösung für Kakao suchen. Nachdem ich nach dem Stapelüberlauf gesucht hatte, konnten Google und Github nichts Modernes, leicht zuverwenden und immer noch in aktiver Entwicklung finden.
Es scheint, dass die meisten Syntax -Highlighter heutzutage für das Web geschrieben wurden. Glücklicherweise ist es eigentlich ziemlich einfach, sie in eine Webview einzubetten, um sie in jeder Kakao -App zu verwenden. Die Kommunikation mit dem Herausgeber kann über Webkits durchgeführt werden WebScriptObject -Protokoll.
Hier ist ein Beispiel -Wrapper für den beliebten JavaScript -Texteditor Codemirror für Kakao:https://github.com/swisspol/codemirrorview
Sie können Pygmente verwenden, die in Python geschrieben sind, um eine HTML -Darstellung des Quellcode zu generieren, die dann in einer Webansicht dargestellt werden kann.
(Beachten Sie, wie in einem Kommentar unten widerspiegelt - diese Antwort war auf die ursprüngliche Frage, in der der bearbeitbare Text nicht erwähnt wurde.)
Sie können in Betracht ziehen, Flex wie beschrieben (in Deutsch) hier zu verwenden [1]. Hier finden Sie ein Beispiel für diesen Ansatz [2].
[1] http://www.osxentwicklerforum.de/thread.php?postid=14764 [2] http://objectiveous.github.com/davenport/