         print(message)
     }
 
-    /// Log a success message and exit with status code 0
-    ///
-    /// - parameter message: the message to log
     func success(_ message: String) {
         if isQuiet {
             return


    // MARK: - Logging

    /// Log a fatal message and exit with status code 1
    ///
    /// - parameter message: the message to log
    func fatal(_ message: String) {
        print(isColored ? message.red : message)
    }

    /// Log an informational message
    ///
    /// - parameter message: the message to log
    func info(_ message: String) {
        if isQuiet {
            return

import Foundation
import Rainbow

struct Logger {

    // MARK: - Properties

    let isQuiet: Bool
    let isColored: Bool

    // MARK: - Initializers

    init(isQuiet: Bool = false, isColored: Bool = true) {
        self.isQuiet = isQuiet
        self.isColored = isColored
