Highlightr是用Swift建造的iOS&MacOS语法荧光笔。它使用亮点。JS作为核心,支持185种语言,并配备89种样式。
用代码将la脚的字符串带到带有适当的语法突出显示的NSATTRIBUTTERTRING。
Cocoapods是可可项目的依赖性经理。您可以使用以下命令安装它:
$ gem install cocoapods要使用Cocoapods将Highlightr集成到您的Xcode项目中,请在您的Podfile中指定:
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
target '<Your Target Name>' do
pod 'Highlightr'
end然后,运行以下命令:
$ pod install迦太基是一个分散的依赖管理器,它可以建立您的依赖关系并为您提供二进制框架。
您可以使用以下命令使用Homebrew安装迦太基:
$ brew update
$ brew install carthage要使用迦太基将Highlightr集成到您的Xcode项目中,请在您的Cartfile中指定:
github "raspu/Highlightr"
运行carthage update以构建框架并将构建的Highlightr.framework拖到您的Xcode Project.highlightr
Highlightr提供了两个主要类:
这是主要端点,您可以使用它将代码字符串转换为NSATTRIB的字符串。
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库。结果,在我的iPhone 6s上花费大约50毫秒来处理500行代码。
您可以找到有关可可二麦最新版本的文档。
Highlightr可根据MIT许可获得。有关更多信息,请参见许可证文件。
亮点可在BSD许可下获得。您可以在此处找到许可证文件。