Highlightr เป็นไฮไลต์ IOS & MacOS ไวยากรณ์ที่สร้างขึ้นด้วย Swift มันใช้ไฮไลต์. js เป็นแกนกลางรองรับ 185 ภาษาและมาพร้อมกับ 89 สไตล์
ใช้สตริงง่อยของคุณด้วยรหัสและส่งคืน NSattributedString ด้วยการเน้นไวยากรณ์ที่เหมาะสม
Cocoapods เป็นผู้จัดการการพึ่งพาสำหรับโครงการโกโก้ คุณสามารถติดตั้งด้วยคำสั่งต่อไปนี้:
$ gem install cocoapods ในการรวม HighlighTr เข้ากับโครงการ XCode ของคุณโดยใช้ cocoapods ให้ระบุใน Podfile ของคุณ:
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
target '<Your Target Name>' do
pod 'Highlightr'
endจากนั้นเรียกใช้คำสั่งต่อไปนี้:
$ pod installคาร์เธจเป็นตัวจัดการการพึ่งพากระจายอำนาจที่สร้างการพึ่งพาของคุณและให้กรอบไบนารีแก่คุณ
คุณสามารถติดตั้ง Carthage ด้วย Homebrew โดยใช้คำสั่งต่อไปนี้:
$ brew update
$ brew install carthage ในการรวม HighlighTr เข้ากับโครงการ XCode ของคุณโดยใช้ Carthage ให้ระบุใน Cartfile ของคุณ:
github "raspu/Highlightr"
รัน carthage update เพื่อสร้างเฟรมเวิร์กและลาก Highlightr.framework ที่สร้างขึ้นในโครงการ XCode ของคุณ HighLightr
Highlightr มีสองคลาสหลัก:
นี่คือจุดสิ้นสุดหลักคุณสามารถใช้เพื่อแปลงสตริงรหัสเป็นสตริง 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 " )
คลาสย่อยของ nstextStorage คุณสามารถใช้มันเพื่อเน้นข้อความตามเวลาจริง
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 ) ใช่ Highlightr อาศัย iOS & MacOS JavaScriptCore เพื่อแยกวิเคราะห์รหัสโดยใช้ไฮไลต์. js นี่ค่อนข้างเร็วจริงๆ!
มันจะไม่เร็วเท่ากับวิธีแก้ปัญหาดั้งเดิม แต่มันเร็วพอที่จะใช้กับตัวแก้ไขแบบเรียลไทม์
มันมาพร้อมกับตัวแยกวิเคราะห์ HTML ที่กำหนดเองสำหรับการสร้าง nsattributtedstrings กำลังประมวลผลธีมล่วงหน้าและกำลังโหลดไลบรารี JS ล่วงหน้า เป็นผลให้มีการใช้เวลาประมาณ 50 มิลลิวินาทีบน iPhone 6s ของฉันสำหรับการประมวลผลรหัส 500 บรรทัด
คุณสามารถค้นหาเอกสารสำหรับรุ่นล่าสุดบน cocoadocs
HighlighTr มีให้บริการภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม
Highlight.js สามารถใช้ได้ภายใต้ใบอนุญาต BSD คุณสามารถค้นหาไฟล์ใบอนุญาตได้ที่นี่