0001    //
0002    //  CommandMessageGenerator.swift
0003    //  Example
0004    //
0005    //  Created by Jake Heiser on 6/13/15.
0006    //  Copyright © 2015 jakeheis. All rights reserved.
0007    //
0008    
0009    class CommandMessageGenerator
CLI.swift:156
                if let message = CommandMessageGenerator.generateMisusedOptionsStatement(command: optionCommand, options: options) {
Command.swift:86
                print(CommandMessageGenerator.generateUsageStatement(command: self, options: options))
{ 0010 0011 class func generateUsageStatement
Command.swift:86
                print(CommandMessageGenerator.generateUsageStatement(command: self, options: options))
CommandMessageGenerator.swift:49
            return generateUsageStatement(command: command, options: options)
CommandMessageGenerator.swift:53
            return generateUsageStatement(command: command, options: options) + "\n" + options.misusedOptionsMessage()
(command command: CommandType, options: Options?) -> String { 0012 var message = "Usage: \(CLI.appName)" 0013 0014 if !command.commandName.isEmpty { 0015 message += " \(command.commandName)" 0016 } 0017 0018 if !command.commandSignature.isEmpty { 0019 message += " \(command.commandSignature)" 0020 } 0021 0022 if let options = options where !options.flagOptions.isEmpty || !options.keyOptions.isEmpty { 0023 message += " [options]\n" 0024 0025 let allKeys = Array(options.flagOptions.keys) + Array(options.keyOptions.keys) 0026 let sortedKeys = allKeys.sort() 0027 for key in sortedKeys { 0028 let usage = options.flagOptions[key]?.usage ?? options.keyOptions[key]?.usage ?? "" 0029 message += "\n\(usage)" 0030 } 0031 0032 message += "\n" 0033 } else { 0034 message += " (no options)\n" 0035 } 0036 0037 return message 0038 } 0039 0040 class func generateMisusedOptionsStatement
CLI.swift:156
                if let message = CommandMessageGenerator.generateMisusedOptionsStatement(command: optionCommand, options: options) {
(command command: CommandType, options: Options) -> String? { 0041 guard let optionsCommand = command as? OptionCommandType else { 0042 return nil 0043 } 0044 0045 switch optionsCommand.unrecognizedOptionsPrintingBehavior { 0046 case .PrintNone: 0047 return nil 0048 case .PrintOnlyUsage: 0049 return generateUsageStatement(command: command, options: options) 0050 case .PrintOnlyUnrecognizedOptions: 0051 return options.misusedOptionsMessage() 0052 case .PrintAll: 0053 return generateUsageStatement(command: command, options: options) + "\n" + options.misusedOptionsMessage() 0054 } 0055 } 0056 0057 } 0058