From 1bc21778833c2031d6f10819a9f19ff1d7a00648 Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Tue, 22 Jan 2019 01:19:16 +0530 Subject: macOS: Reset attributes for each syntax highlight cycle Signed-off-by: Roopesh Chander --- WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift') diff --git a/WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift b/WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift index 0a38d4e..511a35c 100644 --- a/WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift +++ b/WireGuard/WireGuard/UI/macOS/View/ConfTextStorage.swift @@ -85,7 +85,16 @@ class ConfTextStorage: NSTextStorage { 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) + } var spans = highlight_config(backingStore.string.cString(using: String.Encoding.utf8))! while spans.pointee.type != HighlightEnd { @@ -111,7 +120,7 @@ class ConfTextStorage: NSTextStorage { backingStore.endEditing() beginEditing() - edited(.editedAttributes, range: NSRange(location: 0, length: (backingStore.string as NSString).length), changeInLength: 0) + edited(.editedAttributes, range: fullTextRange, changeInLength: 0) endEditing() } -- cgit v1.2.3-59-g8ed1b