Highlightr adalah stabilo sintaks iOS & macOS yang dibangun dengan Swift. Ia menggunakan sorotan.js sebagai inti, mendukung 185 bahasa dan dilengkapi dengan 89 gaya.
Ambil string lumpuh Anda dengan kode dan mengembalikan nSattribribribribeString dengan sorot sintaks yang tepat.
Cocoapods adalah manajer ketergantungan untuk proyek kakao. Anda dapat menginstalnya dengan perintah berikut:
$ gem install cocoapods Untuk mengintegrasikan highlightr ke dalam proyek XCode Anda menggunakan Cocoapods, tentukan di Podfile Anda:
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
target '<Your Target Name>' do
pod 'Highlightr'
endKemudian, jalankan perintah berikut:
$ pod installCarthage adalah manajer ketergantungan terdesentralisasi yang membangun ketergantungan Anda dan memberi Anda kerangka kerja biner.
Anda dapat menginstal carthage dengan homebrew menggunakan perintah berikut:
$ brew update
$ brew install carthage Untuk mengintegrasikan highlightr ke dalam proyek XCode Anda menggunakan Carthage, tentukan di Cartfile Anda:
github "raspu/Highlightr"
Jalankan carthage update untuk membangun kerangka kerja dan seret Highlightr.framework yang dibangun ke dalam proyek xcode Anda. Highlightr
Highlightr menyediakan dua kelas utama:
Ini adalah titik akhir utama, Anda dapat menggunakannya untuk mengubah string kode menjadi string 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 " )
Subkelas NStextStorage, Anda dapat menggunakannya untuk menyorot teks secara real time.
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 ) Ya, Highlightr bergantung pada iOS & macOS JavaScriptCore untuk menguraikan kode menggunakan sorotan.js. Ini sebenarnya cukup cepat!
Ini tidak akan pernah secepat solusi asli, tetapi cukup cepat untuk digunakan pada editor waktu nyata.
Muncul dengan parser HTML yang dibuat khusus untuk membuat NSAttribribeTedStrings, melakukan pra-pemrosesan tema dan memuat perpustakaan JS. Akibatnya, ini mengambil sekitar 50 ms di iPhone 6s saya untuk memproses 500 baris kode.
Anda dapat menemukan dokumentasi untuk rilis terbaru di Cocoadocs.
Highlightr tersedia di bawah lisensi MIT. Lihat file lisensi untuk info lebih lanjut.
Sorote.js tersedia di bawah lisensi BSD. Anda dapat menemukan file lisensi di sini.