aboutsummaryrefslogtreecommitdiffstats
path: root/browserenv_unix.go
AgeCommit message (Collapse)Author
2020-12-20Add license (MPL 2.0)Teddy Wing
2020-12-20Add function and variable documentationTeddy Wing
2020-12-20Remove handled TODOsTeddy Wing
2020-12-20Rename `escapeBrowserCommand()` to `shellEscapeCommand()`Teddy Wing
Didn't like `escapeBrowserCommand()` either, since we're escaping the URL not the rest of the command.
2020-12-20Rename `fmtBrowserCommand()` to `escapeBrowserCommand()`Teddy Wing
Formatting the browser command will incorporate more steps, not just this one, so rename it to be more specific about what it's doing. I want to use the other name for a different function.
2020-12-20Escape single quotes in URLTeddy Wing
On Unix, we escape the URL argument by surrounding it with single quotes. This fails if the URL contains single quotes. It also fails if the `BROWSER` command contains `%s` not surrounded by single quotes. Fix this by escaping the single quotes. We might also want to look into passing the `BROWSER` command and arguments into `exec.Command` directly instead of through `/bin/sh` and checking if that has an automatic escaping mechanism we can take advantage of.
2020-12-20Handle `%s` format string for URL in `BROWSER` variableTeddy Wing
The `BROWSER` environment variable might contain a `%s` format string that should be replaced by the URL to open. If it's present perform the replacement. Otherwise, append the URL to the `BROWSER` command as before.
2020-12-19Add `BROWSER` support to `OpenURL()`Teddy Wing
If the `BROWSER` environment variable is set, open the given URL using the command specified in the variable. Run the command in a shell process, either from the `SHELL` environment variable or `/bin/sh` on Unix OSes. Run it through `cmd` on Windows. Essentially repurposes my code from https://github.com/pkg/browser/pull/14.