From 7b54a18bcc964a1fb74e39fe6034b12a51129be9 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Sun, 5 Apr 2020 11:54:22 -0400 Subject: [PATCH] JavaScript Highlighter: disable debug prints by default --- MongoView/Synax Highlighting/JavaScriptHighlighter.swift | 7 +++++-- jstest/main.swift | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/MongoView/Synax Highlighting/JavaScriptHighlighter.swift b/MongoView/Synax Highlighting/JavaScriptHighlighter.swift index e3e91a3..86c3de1 100644 --- a/MongoView/Synax Highlighting/JavaScriptHighlighter.swift +++ b/MongoView/Synax Highlighting/JavaScriptHighlighter.swift @@ -27,6 +27,7 @@ class JavaScriptHighlighter { private var currentIndex: String.Index! private var indent = "" private(set) var tokens = [(token: TokenType, range: NSRange)]() + var debug = false init(text: String) { self.text = text @@ -38,8 +39,10 @@ class JavaScriptHighlighter { self.attributed = mutableAttributed } - private func print(_ str: String) { - Swift.print("\(indent)\(str)") + private func print(_ str: @autoclosure () -> String) { + if debug { + Swift.print("\(indent)\(str())") + } } private func range(from: String.Index, to: String.Index) -> NSRange { diff --git a/jstest/main.swift b/jstest/main.swift index ce627cf..2bd865b 100644 --- a/jstest/main.swift +++ b/jstest/main.swift @@ -9,5 +9,6 @@ import Foundation let source = "`$foo ${blah} bar`" -_ = JavaScriptHighlighter(text: source).highlight() - +let highlighter = JavaScriptHighlighter(text: source) +highlighter.debug = true +highlighter.highlight()