zenity/internal/osa/osa_darwin.go
2020-01-06 12:06:03 +00:00

45 lines
792 B
Go

package osa
import (
"os/exec"
"strings"
)
//go:generate go run scripts/generate.go scripts/
func Run(script string, data interface{}) ([]byte, error) {
var buf strings.Builder
err := scripts.ExecuteTemplate(&buf, script, data)
if err != nil {
return nil, err
}
res := buf.String()
res = res[len("<script>") : len(res)-len("\n</script>")]
cmd := exec.Command("osascript", "-l", "JavaScript")
cmd.Stdin = strings.NewReader(res)
return cmd.Output()
}
type File struct {
Operation string
Prompt string
Name string
Location string
Type []string
Multiple bool
Separator rune
}
type Msg struct {
Operation string
Text string
Message string
As string
Title string
Icon string
Buttons []string
Cancel int
Default int
}