Highlightr es un marcador de sintaxis iOS y MacOS construido con Swift. Utiliza resalt.js como núcleo, admite 185 idiomas y viene con 89 estilos.
Toma su cadena coja con el código y devuelve un NSATTributedString con la resaltura de sintaxis adecuada.
Cocoapods es un gerente de dependencia para proyectos de cacao. Puede instalarlo con el siguiente comando:
$ gem install cocoapods Para integrar HighlighTR en su proyecto XCode con CocoAPods, especifíquelo en su Podfile :
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
target '<Your Target Name>' do
pod 'Highlightr'
endLuego, ejecute el siguiente comando:
$ pod installCarthage es un gerente de dependencia descentralizado que construye sus dependencias y le proporciona marcos binarios.
Puede instalar Carthage con HomeBrew usando el siguiente comando:
$ brew update
$ brew install carthage Para integrar Highlightr en su proyecto Xcode usando Carthage, especifíquelo en su Cartfile :
github "raspu/Highlightr"
Ejecute carthage update para construir el marco y arrastre el Highlightr.framework construido en su proyecto xcode.
Highlightr proporciona dos clases principales:
Este es el punto final principal, puede usarlo para convertir las cadenas de código en cadenas NSATtributed.
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 " )
Una subclase de nstextStorage, puede usarlo para resaltar el texto en tiempo real.
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 ) Sí, Highlightr se basa en iOS & MacOS JavaScriptcore para analizar el código usando stoppect.js. ¡Esto es bastante rápido!
Nunca será tan rápido como una solución nativa, pero es lo suficientemente rápido como para usarse en un editor en tiempo real.
Viene con un analizador HTML personalizado para crear nsattributedstrings, está previamente procesando los temas y está precarga las bibliotecas JS. Como resultado, está tomando alrededor de 50 ms en mi iPhone 6s para procesar 500 líneas de código.
Puede encontrar la documentación para el último lanzamiento en Cocoadocs.
Highlightr está disponible bajo la licencia MIT. Consulte el archivo de licencia para obtener más información.
Stoppigh.js está disponible bajo la licencia BSD. Puede encontrar el archivo de licencia aquí.