Skip to content

Commit 45085c2

Browse files
committed
chore(docs): use OpenURL func instead of a lib to open an URL in the browser
1 parent 1cc8d35 commit 45085c2

4 files changed

Lines changed: 32 additions & 24 deletions

File tree

cmd/docs.go

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,17 @@
11
package cmd
22

33
import (
4-
"fmt"
5-
64
"github.com/RewriteToday/cli/internal/config"
7-
"github.com/RewriteToday/cli/internal/style"
8-
"github.com/pkg/browser"
5+
"github.com/RewriteToday/cli/internal/network"
96
"github.com/spf13/cobra"
107
)
118

129
var docsCmd = &cobra.Command{
1310
Use: "docs",
1411
Short: "Open the Rewrite documentation in your browser",
15-
RunE: runDocsCommand,
16-
}
17-
18-
func runDocsCommand(cmd *cobra.Command, _ []string) error {
19-
format, _ := cmd.Flags().GetString("output")
20-
noColor, _ := cmd.Flags().GetBool("no-color")
21-
22-
if err := style.Print(fmt.Sprintf("Opening %s", config.DocsURL), format, noColor); err != nil {
23-
return err
24-
}
25-
26-
if err := browser.OpenURL(config.DocsURL); err != nil {
27-
return style.Print(fmt.Sprintf("Could not open browser. Visit: %s", config.DocsURL), format, noColor)
28-
}
29-
30-
return nil
12+
RunE: func(cmd *cobra.Command, args []string) error {
13+
return network.OpenURL(config.DocsURL)
14+
},
3115
}
3216

3317
func init() {

go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ require (
66
github.com/alecthomas/chroma/v2 v2.23.1
77
github.com/blang/semver v3.5.1+incompatible
88
github.com/charmbracelet/huh v0.8.0
9-
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c
109
github.com/rhysd/go-github-selfupdate v1.2.3
1110
github.com/spf13/cobra v1.10.2
1211
github.com/zalando/go-keyring v0.2.6

go.sum

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,6 @@ github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3
100100
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
101101
github.com/onsi/gomega v1.4.2 h1:3mYCb7aPxS/RU7TI1y4rkEn1oKmPRjNJLNEXgw7MH2I=
102102
github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
103-
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ=
104-
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU=
105103
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
106104
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
107105
github.com/rhysd/go-github-selfupdate v1.2.3 h1:iaa+J202f+Nc+A8zi75uccC8Wg3omaM7HDeimXA22Ag=
@@ -147,7 +145,6 @@ golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5h
147145
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
148146
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
149147
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
150-
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
151148
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
152149
golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
153150
golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=

internal/network/browser.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package network
2+
3+
import (
4+
"fmt"
5+
"os/exec"
6+
"runtime"
7+
)
8+
9+
func OpenURL(url string) error {
10+
var cmd string
11+
var args []string
12+
13+
switch runtime.GOOS {
14+
case "windows":
15+
cmd = "rundll32"
16+
args = []string{"url.dll,FileProtocolHandler", url}
17+
case "darwin":
18+
cmd = "open"
19+
args = []string{url}
20+
case "linux":
21+
cmd = "xdg-open"
22+
args = []string{url}
23+
default:
24+
return fmt.Errorf("unsupported operating system: %s", runtime.GOOS)
25+
}
26+
27+
return exec.Command(cmd, args...).Start()
28+
}

0 commit comments

Comments
 (0)