From f17d9672f50c5ec96816abb4924e0c0149f24036 Mon Sep 17 00:00:00 2001 From: zacanger Date: Wed, 23 Sep 2020 10:17:54 +0000 Subject: [PATCH] fix(browser): show message if $BROWSER isn't in $PATH (#1749) --- pkg/browser/browser.go | 7 ++++++- utils/utils.go | 9 ++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/pkg/browser/browser.go b/pkg/browser/browser.go index c710a3b38..139f06dfb 100644 --- a/pkg/browser/browser.go +++ b/pkg/browser/browser.go @@ -9,9 +9,14 @@ import ( "github.com/google/shlex" ) +// BrowserEnv simply returns the $BROWSER envionment variable +func FromEnv() string { + return os.Getenv("BROWSER") +} + // Command produces an exec.Cmd respecting runtime.GOOS and $BROWSER environment variable func Command(url string) (*exec.Cmd, error) { - launcher := os.Getenv("BROWSER") + launcher := FromEnv() if launcher != "" { return FromLauncher(launcher, url) } diff --git a/utils/utils.go b/utils/utils.go index 208b7a44e..0e36f4824 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -19,7 +19,14 @@ func OpenInBrowser(url string) error { if err != nil { return err } - return run.PrepareCmd(browseCmd).Run() + err = run.PrepareCmd(browseCmd).Run() + if err != nil { + browserEnv := browser.FromEnv() + if browserEnv != "" { + return fmt.Errorf("%w\nNote: check your BROWSER environment variable", err) + } + } + return err } func RenderMarkdown(text string) (string, error) {