編寫一個命令行工具:CLIKit
CLIKit 可以幫助你用最快的方式編寫一個命令行工具。
特性
? 指定命令和子命令
? 參數 (edit 22)
? Boolean flags (coffee make --sugar --no-milk)
? Options (open --title=foo --author=bar)
示例:
var manager = Manager() manager.register("issue", "Options for issue") { argv in println("Say `open`, `close` or `edit`") } manager.register("issue open", "Opens a new issue") { argv in println("A new issue has been created!") } manager.register("issue close", "Closes an open issue") { argv in println("Issue has been closed.") } manager.register("issue edit", "Edits an issue") { argv in if let id = argv.shift() { var alert = "Editing issue #\(id). " if let assignee = argv.option("assignee") { alert += "\(assignee) will be the new assignee. " } if let milestone = argv.option("milestone") { alert += "The issue must be completed before \(milestone). " } println(alert) } else { println("Issue id not specified") } } manager.run()
Result:
$ ./my_cli issue open A new issue has been created! $ ./my_cli issue edit 22 --assignee=radex --milestone=2.0 Editing issue #22. radex will be the new assignee. The issue must be completed before 2.0. $ ./my_cli issue Say `open`, `close` or `edit`
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!