Highlightr은 Swift로 구축 된 iOS & MacOS 구문 형광펜입니다. Core로 Highlower.js를 사용하고 185 개의 언어를 지원하며 89 개의 스타일이 제공됩니다.
코드로 절름발이 문자열을 가져 와서 적절한 구문 강조 표시로 nsattribtedstring을 반환합니다.
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 installCarthage는 종속성을 구축하고 이진 프레임 워크를 제공하는 분산 형 종속 관리자입니다.
다음 명령을 사용하여 Homebrew로 Carthage를 설치할 수 있습니다.
$ brew update
$ brew install carthage Carthage를 사용하여 HighLightr을 Xcode 프로젝트에 통합하려면 Cartfile 에 지정하십시오.
github "raspu/Highlightr"
carthage update 실행하여 프레임 워크를 구축하고 빌드 된 Highlightr.framework 를 Xcode 프로젝트로 드래그하십시오. highlightr
Highlightr은 두 가지 주요 클래스를 제공합니다.
이것은 주요 엔드 포인트입니다. 코드 문자열을 NSAttribed 문자열로 변환하는 데 사용할 수 있습니다.
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에 의존하여 Highlower.js를 사용하여 코드를 구문 분석합니다. 이것은 실제로 매우 빠릅니다!
기본 솔루션만큼 빠르지는 않지만 실시간 편집기에서 사용하기에 충분히 빠릅니다.
NSAttributtedStrings를 만들기위한 맞춤형 HTML 파서가 제공되며 테마를 사전 처리하고 JS 라이브러리를 사전로드하고 있습니다. 결과적으로 500 줄의 코드를 처리하기 위해 iPhone 6s에서 약 50ms가 소요됩니다.
Cocoadocs의 최신 릴리스 문서를 찾을 수 있습니다.
Highlightr은 MIT 라이센스에 따라 제공됩니다. 자세한 내용은 라이센스 파일을 참조하십시오.
Highlower.js는 BSD 라이센스에 따라 제공됩니다. 여기에서 라이센스 파일을 찾을 수 있습니다.