Skip to content

Instantly share code, notes, and snippets.

@tamasd
Last active December 11, 2015 21:38
Show Gist options
  • Save tamasd/4663389 to your computer and use it in GitHub Desktop.
Save tamasd/4663389 to your computer and use it in GitHub Desktop.
func editBody(original string) string {
tmpfile, err := ioutil.TempFile(os.TempDir(), "myapp")
if err != nil {
log.Fatal(err)
}
name := tmpfile.Name()
tmpfile.WriteString(msg)
tmpfile.Sync()
tmpfile.Close()
editor := os.Getenv("EDITOR")
if editor == "" {
log.Fatal("EDITOR is not set")
}
cmd := exec.Command(editor, name)
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err = cmd.Run()
if err != nil {
log.Fatal(err)
}
tmpfile, err = os.Open(name)
if err != nil {
log.Fatal(err)
}
bytes, errr := ioutil.ReadAll(tmpfile)
if errr != nil {
log.Fatal(err)
}
tmpfile.Close()
os.Remove(name)
return string(bytes)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment