mas/MasKit/Formatters/Utilities.swift

51 lines
1.1 KiB
Swift
Raw Normal View History

//
// Utilities.swift
// mas-cli
//
// Created by Andrew Naylor on 14/09/2016.
// Copyright © 2016 Andrew Naylor. All rights reserved.
//
2016-09-25 21:13:23 +00:00
/// A collection of output formatting helpers
/// Terminal Control Sequence Indicator
let csi = "\u{001B}["
func printInfo(_ message: String) {
guard isatty(fileno(stdout)) != 0 else {
print("==> \(message)")
return
}
2019-01-12 01:06:02 +00:00
2016-09-25 21:13:23 +00:00
// Blue bold arrow, Bold text
print("\(csi)1;34m==>\(csi)0m \(csi)1m\(message)\(csi)0m")
}
func printWarning(_ message: String) {
guard isatty(fileno(stdout)) != 0 else {
print("Warning: \(message)")
return
}
2019-01-12 01:06:02 +00:00
// Yellow, underlined "Warning:" prefix
2016-09-25 21:13:23 +00:00
print("\(csi)4;33mWarning:\(csi)0m \(message)")
}
public func printError(_ message: String) {
guard isatty(fileno(stdout)) != 0 else {
print("Warning: \(message)")
return
}
2019-01-12 01:06:02 +00:00
// Red, underlined "Error:" prefix
2016-09-25 21:13:23 +00:00
print("\(csi)4;31mError:\(csi)0m \(message)")
}
func clearLine() {
guard isatty(fileno(stdout)) != 0 else {
return
}
print("\(csi)2K\(csi)0G", terminator: "")
fflush(stdout)
2016-09-17 12:58:38 +00:00
}