func NewErrorExitError(message string, err error) error {
	if wordRegex.MatchString(message[len(message)-1:]) {
		message += "."
	}
	return cli.NewExitError(message+"\n"+err.Error(), -1)
}
NewErrorExitError creates an ExitError with an appended error message
package errs
import (
	"regexp"
	"strings"
	"github.com/urfave/cli"
)
var ErrAbort = NewExitError("Aborted.")
var ErrTerminalRequired = NewExitError("This action must be performed in an attached terminal or all arguments must be passed.")
func ToError(err error) error {
	switch e := err.(type) {
	case *cli.ExitError:
		return e
	case nil:
		return nil
	default:
		return cli.NewExitError(err.Error(), -1)
	}
}
func NewNotFound(name string) error {
	return NewExitError("Could not find " + strings.ToLower(name))
}
func NewUsageExitError(message string, ctx *cli.Context) error {
	if wordRegex.MatchString(message[len(message)-1:]) {
		message += "."
	}
	return cli.NewExitError(message+"\n"+usageString(ctx), -1)
}