func Warning(ctx context.Context, arg interface{}) {
	Warningf(ctx, "%s", arg)
}
Warning prints the string with a warning sign in front
package out
import (
	"context"
	"fmt"
	"io"
	"os"
	"github.com/fatih/color"
	"github.com/gopasspw/gopass/pkg/ctxutil"
	"github.com/gopasspw/gopass/pkg/debug"
)
var (
	Stdout io.Writer = os.Stdout
	Stderr io.Writer = os.Stderr
)
type Secret string
func (s Secret) SafeStr() string {
	return "(elided)"
}
func newline(ctx context.Context) string {
	if HasNewline(ctx) {
		return "\n"
	}
	return ""
}
func Print(ctx context.Context, arg interface{}) {
	Printf(ctx, "%s", arg)
}
func Printf(ctx context.Context, format string, args ...interface{}) {
	if ctxutil.IsHidden(ctx) {
		return
	}
	debug.LogN(1, format, args...)
	fmt.Fprintf(Stdout, Prefix(ctx)+format+newline(ctx), args...)
}
func Notice(ctx context.Context, arg interface{}) {
	Noticef(ctx, "%s", arg)
}
func Noticef(ctx context.Context, format string, args ...interface{}) {
	if ctxutil.IsHidden(ctx) {
		return
	}
	debug.LogN(1, "NOTICE: "+format, args...)
	fmt.Fprintf(Stdout, Prefix(ctx)+"⚠ "+format+newline(ctx), args...)
}
func Error(ctx context.Context, arg interface{}) {
	Errorf(ctx, "%s", arg)
}
func Errorf(ctx context.Context, format string, args ...interface{}) {
	if ctxutil.IsHidden(ctx) {
		return
	}
	debug.LogN(1, "ERROR: "+format, args...)
	fmt.Fprint(Stderr, color.RedString(Prefix(ctx)+"❌ "+format+newline(ctx), args...))
}
func OK(ctx context.Context, arg interface{}) {
	OKf(ctx, "%s", arg)
}
func OKf(ctx context.Context, format string, args ...interface{}) {
	if ctxutil.IsHidden(ctx) {
		return
	}
	debug.LogN(1, "OK: "+format, args...)
	fmt.Fprintf(Stdout, Prefix(ctx)+"✅ "+format+newline(ctx), args...)
}