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/
packagescript
import(
"errors"
)
var(
ErrFailedToDetermineShell=errors.New("failed to determine which shell to use")
ErrNoCommandsOrFilename=errors.New("a filename or at least one command must be specified")
ErrNotSupportedOnWindows=errors.New("this tasks is not supported on windows")
ErrOnlyFilenameOrCommands=errors.New("only one of filename and commands may be specified")
ErrScriptOutsideOfWorkspace=errors.New("script is outside of the workspace")