macOS: Edit view: Update public key as you edit

Signed-off-by: Roopesh Chander <roop@roopc.net>
This commit is contained in:
Roopesh Chander
2019-01-09 00:41:36 +05:30
parent bbeb732ef3
commit 80977b95de
3 changed files with 25 additions and 2 deletions
@@ -27,6 +27,7 @@ class ConfTextStorage: NSTextStorage {
private let backingStore: NSMutableAttributedString
private(set) var hasError = false
private(set) var privateKeyString: String?
override init() {
backingStore = NSMutableAttributedString(string: "")
@@ -129,6 +130,7 @@ class ConfTextStorage: NSTextStorage {
func highlightSyntax() {
hasError = false
privateKeyString = nil
backingStore.beginEditing()
var spans = highlight_config(backingStore.string.cString(using: String.Encoding.utf8))!
@@ -143,6 +145,10 @@ class ConfTextStorage: NSTextStorage {
hasError = true
}
if span.type == HighlightPrivateKey {
privateKeyString = backingStore.attributedSubstring(from: NSRange(location: span.start, length: span.len)).string
}
spans = spans.successor()
}
backingStore.endEditing()