Higlightr ist ein mit Swift gebautes iOS & macOS -Syntax Highlighter. Es verwendet Highlight.js als Kern, unterstützt 185 Sprachen und verfügt über 89 Stile.
Nimmt Ihren lahmen Zeichenfolge mit Code und gibt einen nsattributtedString mit der richtigen Syntax -Hervorhebung zurück.
Cocoapods ist ein Abhängigkeitsmanager für Kakaoprojekte. Sie können es mit dem folgenden Befehl installieren:
$ gem install cocoapods Um Highlightr mit Cocoapods in Ihr XCode -Projekt zu integrieren, geben Sie diese in Ihrer Podfile an:
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
target '<Your Target Name>' do
pod 'Highlightr'
endFühren Sie dann den folgenden Befehl aus:
$ pod installKarthago ist ein dezentraler Abhängigkeitsmanager, der Ihre Abhängigkeiten erstellt und Ihnen binäre Rahmenbedingungen bietet.
Sie können Carthago mit Homebrew mit dem folgenden Befehl installieren:
$ brew update
$ brew install carthage Geben Sie es in Ihrem Cartfile an:
github "raspu/Highlightr"
Führen Sie carthage update aus, um das Framework zu erstellen und das gebaute Highlightr.framework in Ihr Xcode -Projekt.Highlightr zu ziehen
Higlightr liefert zwei Hauptklassen:
Dies ist der Hauptendpunkt. Sie können ihn verwenden, um Code -Zeichenfolgen in nsattribierte Zeichenfolgen umzuwandeln.
let highlightr = Highlightr ( )
highlightr . setTheme ( to : " paraiso-dark " )
let code = " let a = 1 "
// You can omit the second parameter to use automatic language detection.
let highlightedCode = highlightr . highlight ( code , as : " swift " )
Mit einer Unterklasse von NStextStorage können Sie sie verwenden, um Text in Echtzeit hervorzuheben.
let textStorage = CodeAttributedString ( )
textStorage . language = " Swift "
let layoutManager = NSLayoutManager ( )
textStorage . addLayoutManager ( layoutManager )
let textContainer = NSTextContainer ( size : view . bounds . size )
layoutManager . addTextContainer ( textContainer )
let textView = UITextView ( frame : yourFrame , textContainer : textContainer ) Ja, Highlightr ist auf iOS & macOS JavaScriptcore angewiesen, um den Code mit Highlight.js zu analysieren. Das ist eigentlich ziemlich schnell!
Es wird niemals so schnell wie eine native Lösung sein, aber es ist schnell genug, um bei einem Echtzeit -Editor verwendet zu werden.
Es wird mit einem maßgefertigten HTML-Parser zum Erstellen von NsattributtedStrings geliefert, die Themen vorverarbeitet und die JS-Bibliotheken vorlegt. Auf meinem iPhone 6s dauert es ungefähr 50 ms, um 500 Codezeilen zu verarbeiten.
Die Dokumentation finden Sie für die neueste Version auf Cocoadocs.
Highlightr ist im Rahmen der MIT -Lizenz erhältlich. Weitere Informationen finden Sie in der Lizenzdatei.
Highlight.js ist unter der BSD -Lizenz erhältlich. Hier finden Sie die Lizenzdatei.