grim/convey

Port from logrus to log/slog
default tip
4 months ago, Elliott Sales de Andrade
c588f9b3f559
Port from logrus to log/slog

This doesn't really take much advantage of structured logging beyond what is already done (`id` and `idColor`), and consequently the log handler does not try to do any handling of anything more than that (i.e., grouping, or arbitrary attributes beyond those defined).

One should maybe have a `Context` available to pass in, but there isn't one, and anyway, the log handler doesn't use it, so I've passed in a `TODO` instead.

Everything else is just normal import/rename changes.

Testing Done:
Ran `go run . run`

Reviewed at https://reviews.imfreedom.org/r/2871/
package script
import (
"os"
"runtime"
"strings"
"keep.imfreedom.org/grim/convey/environment"
)
func sliceToFile(commands []string, path string, env environment.Environment) (string, error) {
script := env.Expandv(commands)
fp, err := os.CreateTemp(path, ".convey-script-")
if err != nil {
return "", err
}
lineEnding := "\n"
if runtime.GOOS == "windows" {
lineEnding = "\r\n"
}
if _, err = fp.Write([]byte(strings.Join(script, lineEnding))); err != nil {
return "", err
}
if err := fp.Chmod(0700); err != nil {
return "", err
}
if err := fp.Close(); err != nil {
return "", err
}
return fp.Name(), nil
}