提交 b7dc8e0b 编写于 作者: M Mislav Marohnić

[gist] Support `--browse`, `--copy`, and `--noop` flags

上级 5f5edb65
......@@ -33,6 +33,12 @@ gist show <ID> [<FILENAME>]
--public
Make the new gist public (default: false).
-o, --browse
Open the new gist in a web browser.
-c, --copy
Put the URL of the new gist to clipboard instead of printing it.
## Examples:
$ echo hello | hub gist create --public
......@@ -46,19 +52,21 @@ gist show <ID> [<FILENAME>]
hub(1), hub-api(1)
`,
KnownFlags: "\n",
}
cmdShowGist = &Command{
Key: "show",
Run: showGist,
KnownFlags: "\n",
Key: "show",
Run: showGist,
}
cmdCreateGist = &Command{
Key: "create",
Run: createGist,
KnownFlags: "--public",
Key: "create",
Run: createGist,
KnownFlags: `
--public
-o, --browse
-c, --copy
`,
}
)
......@@ -114,9 +122,21 @@ func createGist(cmd *Command, args *Args) {
} else {
filenames = args.Params
}
g, err := gh.CreateGist(filenames, args.Flag.Bool("--public"))
utils.Check(err)
ui.Println(g.HtmlUrl)
var gist *github.Gist
if args.Noop {
ui.Println("Would create gist")
gist = &github.Gist{
HtmlUrl: fmt.Sprintf("https://gist.%s/%s", gh.Host.Host, "ID"),
}
} else {
gist, err = gh.CreateGist(filenames, args.Flag.Bool("--public"))
utils.Check(err)
}
flagIssueBrowse := args.Flag.Bool("--browse")
flagIssueCopy := args.Flag.Bool("--copy")
printBrowseOrCopy(args, gist.HtmlUrl, flagIssueBrowse, flagIssueCopy)
}
func showGist(cmd *Command, args *Args) {
......
......@@ -93,6 +93,22 @@ Feature: hub gist
http://gists.github.com/somehash
"""
Scenario: Open the new gist in a browser
Given the GitHub API server:
"""
post('/gists') {
status 201
json :html_url => 'http://gists.github.com/somehash'
}
"""
Given a file named "testfile.txt" with:
"""
this is a test file
"""
When I successfully run `hub gist create -o testfile.txt`
Then the output should contain exactly ""
And "open http://gists.github.com/somehash" should be run
Scenario: Creates a gist with multiple files
Given the GitHub API server:
"""
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册