Skip to content

Commit 3d58fa7

Browse files
committed
Add the release view --web flag
1 parent ad0bbde commit 3d58fa7

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

pkg/cmd/release/view/view.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ type ViewOptions struct {
2222
BaseRepo func() (ghrepo.Interface, error)
2323

2424
TagName string
25+
WebMode bool
2526
}
2627

2728
func NewCmdView(f *cmdutil.Factory, runF func(*ViewOptions) error) *cobra.Command {
@@ -55,6 +56,8 @@ func NewCmdView(f *cmdutil.Factory, runF func(*ViewOptions) error) *cobra.Comman
5556
},
5657
}
5758

59+
cmd.Flags().BoolVarP(&opts.WebMode, "web", "w", false, "Open the release in the browser")
60+
5861
return cmd
5962
}
6063

@@ -83,6 +86,13 @@ func viewRun(opts *ViewOptions) error {
8386
}
8487
}
8588

89+
if opts.WebMode {
90+
if opts.IO.IsStdoutTTY() {
91+
fmt.Fprintf(opts.IO.ErrOut, "Opening %s in your browser.\n", utils.DisplayURL(release.HTMLURL))
92+
}
93+
return utils.OpenInBrowser(release.HTMLURL)
94+
}
95+
8696
if opts.IO.IsStdoutTTY() {
8797
if err := renderReleaseTTY(opts.IO, release); err != nil {
8898
return err

pkg/cmd/release/view/view_test.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ func Test_NewCmdView(t *testing.T) {
3232
isTTY: true,
3333
want: ViewOptions{
3434
TagName: "v1.2.3",
35+
WebMode: false,
3536
},
3637
},
3738
{
@@ -40,6 +41,16 @@ func Test_NewCmdView(t *testing.T) {
4041
isTTY: true,
4142
want: ViewOptions{
4243
TagName: "",
44+
WebMode: false,
45+
},
46+
},
47+
{
48+
name: "web mode",
49+
args: "-w",
50+
isTTY: true,
51+
want: ViewOptions{
52+
TagName: "",
53+
WebMode: true,
4354
},
4455
},
4556
}
@@ -78,6 +89,7 @@ func Test_NewCmdView(t *testing.T) {
7889
}
7990

8091
assert.Equal(t, tt.want.TagName, opts.TagName)
92+
assert.Equal(t, tt.want.WebMode, opts.WebMode)
8193
})
8294
}
8395
}

0 commit comments

Comments
 (0)