func NewWithWriter(w io.Writer) *Action {
	return New(WithWriter(w))
}
NewWithWriter creates a wrapper using the given writer. This is useful for
tests. The given writer cannot add any prefixes to the string, since GitHub
requires these special strings to match a very particular format.

Deprecated: Use New() with WithWriter instead.
package githubactions
import (
	"fmt"
	"io"
	"io/ioutil"
	"os"
	"strings"
)
var (
	osExit = os.Exit
)
const (
	addMaskCmd   = "add-mask"
	setOutputCmd = "set-output"
	saveStateCmd = "save-state"
	addPathCmd = "add-path"  
	pathCmd    = "path"      
	setEnvCmd       = "set-env"         
	envCmd          = "env"             
	envCmdMsgFmt    = "%s<<%s\n%s\n%s"  
	envCmdDelimiter = "_GitHubActionsFileCommandDelimeter_"
	addMatcherCmd    = "add-matcher"
	removeMatcherCmd = "remove-matcher"
	groupCmd    = "group"
	endGroupCmd = "endgroup"
	debugCmd   = "debug"
	errorCmd   = "error"
	warningCmd = "warning"
	errFileCmdFmt = "unable to write command to the environment file: %s"
)
func New(opts ...Option) *Action {
	a := &Action{w: os.Stdout, getenv: os.Getenv}
	for _, opt := range opts {
		if opt == nil {
			continue
		}
		a = opt(a)
	}
	return a
}