                 printError("An error occurred: \(error.localizedDescription)")
             }
         }
-
+        
         return CLIResult.error
     }
-
+    
     private static func routeCommand(arguments: ArgumentList) throws -> Command {
         var availableCommands = commands
         availableCommands.append(helpCommand)
         availableCommands.append(versionCommand)
         helpCommand.availableCommands = availableCommands
-
+        
         guard let command = router.route(commands: availableCommands, aliases: aliases, arguments: arguments) else {
             if let attemptedCommandName = arguments.head {
                 printError("Command \"\(attemptedCommandName)\" not found\n")
-
+                
                 // Only print available commands if passed an unavailable command
                 helpCommand.printCLIDescription = false
             }
-
+            
             try helpCommand.execute()
-
+            
             throw CLIError.emptyError
         }
-
+        
         return command
     }
-
+    
     private static func parseOptions(command: Command, arguments: ArgumentList) throws {
         if command is HelpCommand {
             return
         }
         
         let optionRegistry = OptionRegistry(command: command)
-
+        
         do {
             try optionParser.recognizeOptions(in: arguments, from: optionRegistry)
         } catch let error as OptionParserError {

        } catch let error as NSError {
            printError("An error occurred: \(error.localizedDescription)")
        }

        if helpCommand.executeOnCommandFailure {
            do {
                try helpCommand.execute()

            } catch {
                throw error
            }
            
            // Step 4: execute
            try command.execute()
            
            return CLIResult.success
        } catch CLIError.error(let error) {
            printError(error)
