HighLightr é um marcador de sintaxe iOS e macOS construído com Swift. Ele usa o Highlight.js como núcleo, suporta 185 idiomas e vem com 89 estilos.
Pega sua string coxo com código e retorna um NSATTributedString com destaque de sintaxe adequado.
O Cocoapods é um gerente de dependência de projetos de cacau. Você pode instalá -lo com o seguinte comando:
$ gem install cocoapods Para integrar o HighLightr ao seu projeto Xcode usando Cocoapods, especifique -o no seu Podfile :
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
target '<Your Target Name>' do
pod 'Highlightr'
endEm seguida, execute o seguinte comando:
$ pod installCartago é um gerente de dependência descentralizado que cria suas dependências e fornece estruturas binárias.
Você pode instalar Cartago com Homebrew usando o seguinte comando:
$ brew update
$ brew install carthage Para integrar o HighLightr ao seu projeto Xcode usando Cartago, especifique -o no seu Cartfile :
github "raspu/Highlightr"
Execute carthage update para construir a estrutura e arrastar o Highlightr.framework construído para o seu Xcode Project.HighLightr
HighLightr oferece duas classes principais:
Este é o ponto de extremidade principal, você pode usá -lo para converter strings de código em strings NSATtrribuídos.
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 " )
Uma subclasse do NSTEXTSTORAGE, você pode usá -lo para destacar o texto em tempo 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 ) Sim, o HighLightr depende do iOS e MacOS JavaScriptCore para analisar o código usando o Highlight.js. Isso é realmente rápido!
Nunca será tão rápido quanto uma solução nativa, mas é rápido o suficiente para ser usado em um editor em tempo real.
Ele vem com um analisador HTML personalizado para a criação de NSATTributedstrings, está pré-processando os temas e está pré-carregando as bibliotecas JS. Como resultado, está levando cerca de 50 ms no meu iPhone 6s para processar 500 linhas de código.
Você pode encontrar a documentação para o último lançamento no Cocoadocs.
HighLightr está disponível sob a licença do MIT. Consulte o arquivo de licença para obter mais informações.
Destaque.js está disponível sob a licença BSD. Você pode encontrar o arquivo de licença aqui.