blob: c8bd2de4e87733c4f0514b93abb48c32f9609150 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import Foundation
import NorgKit
/// A syntax highlight span.
public struct NorgHighlight: Equatable, Sendable {
public let range: NSRange
public let kind: NorgToken.Kind
public init(range: NSRange, kind: NorgToken.Kind) {
self.range = range
self.kind = kind
}
}
public enum NorgHighlighter {
public static func highlights(in text: String) -> [NorgHighlight] {
NorgLexer.tokenize(text).map { token in
NorgHighlight(range: NSRange(token.range, in: text), kind: token.kind)
}
}
}
|