aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-01-21 22:13:14 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2019-01-21 22:13:14 +0100
commitd7a88300f6ceef7f566147298626a65b7669e6ee (patch)
tree57b70088b4147801ee3eaa9f76c312d7841cb16d /WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift
parentAvoid using return in single-line closures (diff)
downloadwireguard-apple-d7a88300f6ceef7f566147298626a65b7669e6ee.tar.xz
wireguard-apple-d7a88300f6ceef7f566147298626a65b7669e6ee.zip
macOS: Make highlighter themes static
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift')
-rw-r--r--WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift23
1 files changed, 10 insertions, 13 deletions
diff --git a/WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift b/WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift
index 423e7cd..fb8a382 100644
--- a/WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift
+++ b/WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift
@@ -11,7 +11,7 @@ class ConfTextStorage: NSTextStorage {
private let boldFont = NSFont.boldSystemFont(ofSize: fontSize)
private lazy var italicFont = NSFontManager.shared.convert(defaultFont, toHaveTrait: .italicFontMask)
- private var textColorTheme: ConfTextColorTheme?
+ private var textColorTheme: ConfTextColorTheme.Type?
private let backingStore: NSMutableAttributedString
private(set) var hasError = false
@@ -47,7 +47,7 @@ class ConfTextStorage: NSTextStorage {
}
}
- func updateAttributes(for textColorTheme: ConfTextColorTheme) {
+ func updateAttributes(for textColorTheme: ConfTextColorTheme.Type) {
self.textColorTheme = textColorTheme
highlightSyntax()
}
@@ -82,19 +82,18 @@ class ConfTextStorage: NSTextStorage {
}
func highlightSyntax() {
+ guard let textColorTheme = textColorTheme else { return }
hasError = false
privateKeyString = nil
let fullTextRange = NSRange(location: 0, length: (backingStore.string as NSString).length)
backingStore.beginEditing()
- if let textColorTheme = textColorTheme {
- let defaultAttributes: [NSAttributedString.Key: Any] = [
- .foregroundColor: textColorTheme.defaultColor,
- .font: defaultFont
- ]
- backingStore.setAttributes(defaultAttributes, range: fullTextRange)
- }
+ let defaultAttributes: [NSAttributedString.Key: Any] = [
+ .foregroundColor: textColorTheme.defaultColor,
+ .font: defaultFont
+ ]
+ backingStore.setAttributes(defaultAttributes, range: fullTextRange)
var spans = highlight_config(backingStore.string.cString(using: String.Encoding.utf8))!
while spans.pointee.type != HighlightEnd {
@@ -102,10 +101,8 @@ class ConfTextStorage: NSTextStorage {
let range = NSRange(location: span.start, length: span.len)
backingStore.setAttributes(nonColorAttributes(for: span.type), range: range)
- if let textColorTheme = textColorTheme {
- let color = textColorTheme.colorMap[span.type.rawValue] ?? textColorTheme.defaultColor
- backingStore.addAttribute(.foregroundColor, value: color, range: range)
- }
+ let color = textColorTheme.colorMap[span.type.rawValue] ?? textColorTheme.defaultColor
+ backingStore.addAttribute(.foregroundColor, value: color, range: range)
if span.type == HighlightError {
hasError = true