From b287caeeec0a39c6fa812e3c7b4a08a6d7237562 Mon Sep 17 00:00:00 2001 From: WarningImHack3r <43064022+WarningImHack3r@users.noreply.github.com> Date: Sat, 12 Aug 2023 20:16:54 +0200 Subject: [PATCH 1/2] Remove ANSI characters from status line --- Source/Worker.swift | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Source/Worker.swift b/Source/Worker.swift index 020a61a..674c458 100644 --- a/Source/Worker.swift +++ b/Source/Worker.swift @@ -170,10 +170,14 @@ class Worker: ObservableObject { } private nonisolated func extractLine(from data: Data) -> String? { - if let string = String(data: data, encoding: .ascii)?.filter({ $0.isASCII }) { + if let string = String(data: data, encoding: .utf8) { let lines = string.split(whereSeparator: \.isNewline) if let line = lines.filter({ !$0.isEmpty }).last { - return String(line) + let stringLine = String(line) + if let pattern = try? NSRegularExpression(pattern: "\\[(0|1).*?m") { + return pattern.stringByReplacingMatches(in: stringLine, range: NSRange(location: 0, length: stringLine.count), withTemplate: "") + } + return stringLine } } return nil From 65d00bfff6ddcf37645ebd71a7ac175acc34981c Mon Sep 17 00:00:00 2001 From: WarningImHack3r <43064022+WarningImHack3r@users.noreply.github.com> Date: Sat, 12 Aug 2023 20:42:57 +0200 Subject: [PATCH 2/2] Update regex --- Source/Worker.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Worker.swift b/Source/Worker.swift index 674c458..3add450 100644 --- a/Source/Worker.swift +++ b/Source/Worker.swift @@ -174,7 +174,7 @@ class Worker: ObservableObject { let lines = string.split(whereSeparator: \.isNewline) if let line = lines.filter({ !$0.isEmpty }).last { let stringLine = String(line) - if let pattern = try? NSRegularExpression(pattern: "\\[(0|1).*?m") { + if let pattern = try? NSRegularExpression(pattern: "\\033\\[(0|1).*?m") { return pattern.stringByReplacingMatches(in: stringLine, range: NSRange(location: 0, length: stringLine.count), withTemplate: "") } return stringLine