agedit/pkg/env/env.go

48 lines
883 B
Go

package env
import (
"os"
"regexp"
"runtime"
"strings"
)
// GetEditor gets the configured editor by checking environmental
// variables EDITOR and VISUAL
func GetEditor() string {
var editor string
if v, ok := os.LookupEnv("EDITOR"); ok {
editor = v
} else if v, ok := os.LookupEnv("VISUAL"); ok {
editor = v
} /* else {
// TODO: maybe pick something based on the OS
} */
return editor
}
// GetTempDirectory returns the systems temporary directory
//
// returns %TEMP% on Windows, /tmp on UNIX-like systems
func GetTempDirectory() string {
var tmp string
switch runtime.GOOS {
case "windows":
tmp = os.Getenv("TEMP")
case "android":
if t := os.Getenv("TMPDIR"); t != "" {
tmp = t
} else if t = os.Getenv("PREFIX"); t != "" {
tmp = t + "/tmp"
}
default:
fallthrough
case "darwin":
fallthrough
case "linux":
tmp = "/tmp"
}
return tmp
}