From cbff612a593c44cc452070e7c50e7b8f858c763b Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Sat, 19 Dec 2020 23:57:50 +0100 Subject: Add `BROWSER` support to `OpenReader()` If the `BROWSER` environment variable is set, open the reader in the given browser. Works by copying the `Reader`'s contents to a temporary file and opening that with `OpenFile()`. --- browserenv.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'browserenv.go') diff --git a/browserenv.go b/browserenv.go index 98f2e24..f0a6dd8 100644 --- a/browserenv.go +++ b/browserenv.go @@ -2,6 +2,7 @@ package browserenv import ( "io" + "io/ioutil" "os" "os/exec" "path/filepath" @@ -29,6 +30,21 @@ func OpenFile(path string) error { } func OpenReader(r io.Reader) error { + envCommand := envBrowserCommand() + if envCommand != "" { + tempFile, err := ioutil.TempFile("", "browserenv") + if err != nil { + return err + } + + _, err = io.Copy(tempFile, r) + if err != nil { + return err + } + + return OpenFile(tempFile.Name()) + } + return browser.OpenReader(r) } -- cgit v1.2.3