mirror of
https://github.com/gopasspw/gopass.git
synced 2025-12-08 19:24:54 +00:00
This change adds GoDoc comments to many of the public symbols in the `pkg/` directory. It also includes various improvements to the documentation in `README.md` and other markdown files in the `docs/` directory. This is a partial documentation effort, as requested by the user, to get a pull request submitted quickly. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
170 lines
4.0 KiB
Go
170 lines
4.0 KiB
Go
package action
|
|
|
|
import "context"
|
|
|
|
type contextKey int
|
|
|
|
const (
|
|
ctxKeyClip contextKey = iota
|
|
ctxKeyPasswordOnly
|
|
ctxKeyPrintQR
|
|
ctxKeyRevision
|
|
ctxKeyKey
|
|
ctxKeyOnlyClip
|
|
ctxKeyAlsoClip
|
|
ctxKeyPrintChars
|
|
ctxKeyWithQRBody
|
|
)
|
|
|
|
// WithClip returns a context with the value for clip (for copy to clipboard)
|
|
// set.
|
|
func WithClip(ctx context.Context, clip bool) context.Context {
|
|
return context.WithValue(ctx, ctxKeyClip, clip)
|
|
}
|
|
|
|
// IsClip returns the value of clip or the default (false).
|
|
func IsClip(ctx context.Context) bool {
|
|
bv, ok := ctx.Value(ctxKeyClip).(bool)
|
|
if !ok {
|
|
return false
|
|
}
|
|
|
|
return bv
|
|
}
|
|
|
|
// WithAlsoClip returns a context with the value for alsoclip (copy to
|
|
// clipboard and print to stdout) set.
|
|
func WithAlsoClip(ctx context.Context, clip bool) context.Context {
|
|
return context.WithValue(ctx, ctxKeyAlsoClip, clip)
|
|
}
|
|
|
|
// IsAlsoClip returns the value for alsoclip or the default (false).
|
|
func IsAlsoClip(ctx context.Context) bool {
|
|
bv, ok := ctx.Value(ctxKeyAlsoClip).(bool)
|
|
if !ok {
|
|
return false
|
|
}
|
|
|
|
return bv
|
|
}
|
|
|
|
// WithOnlyClip returns a context with the value for clip (for copy to clipboard)
|
|
// set.
|
|
func WithOnlyClip(ctx context.Context, clip bool) context.Context {
|
|
return context.WithValue(ctx, ctxKeyOnlyClip, clip)
|
|
}
|
|
|
|
// IsOnlyClip returns the value of clip or the default (false).
|
|
func IsOnlyClip(ctx context.Context) bool {
|
|
bv, ok := ctx.Value(ctxKeyOnlyClip).(bool)
|
|
if !ok {
|
|
return false
|
|
}
|
|
|
|
return bv
|
|
}
|
|
|
|
// WithPasswordOnly returns a context with the value of password only set.
|
|
func WithPasswordOnly(ctx context.Context, pw bool) context.Context {
|
|
return context.WithValue(ctx, ctxKeyPasswordOnly, pw)
|
|
}
|
|
|
|
// IsPasswordOnly returns the value of password only or the default (false).
|
|
func IsPasswordOnly(ctx context.Context) bool {
|
|
bv, ok := ctx.Value(ctxKeyPasswordOnly).(bool)
|
|
if !ok {
|
|
return false
|
|
}
|
|
|
|
return bv
|
|
}
|
|
|
|
// WithPrintQR returns a context with the value of print QR set.
|
|
func WithPrintQR(ctx context.Context, qr bool) context.Context {
|
|
return context.WithValue(ctx, ctxKeyPrintQR, qr)
|
|
}
|
|
|
|
// IsPrintQR returns the value of print QR or the default (false).
|
|
func IsPrintQR(ctx context.Context) bool {
|
|
bv, ok := ctx.Value(ctxKeyPrintQR).(bool)
|
|
if !ok {
|
|
return false
|
|
}
|
|
|
|
return bv
|
|
}
|
|
|
|
// WithRevision returns a context withe the value of revision set.
|
|
func WithRevision(ctx context.Context, rev string) context.Context {
|
|
return context.WithValue(ctx, ctxKeyRevision, rev)
|
|
}
|
|
|
|
// HasRevision returns true if a value for revision was set in this context.
|
|
func HasRevision(ctx context.Context) bool {
|
|
sv, ok := ctx.Value(ctxKeyRevision).(string)
|
|
|
|
return ok && sv != ""
|
|
}
|
|
|
|
// GetRevision returns the revison set in this context or an empty string.
|
|
func GetRevision(ctx context.Context) string {
|
|
sv, ok := ctx.Value(ctxKeyRevision).(string)
|
|
if !ok {
|
|
return ""
|
|
}
|
|
|
|
return sv
|
|
}
|
|
|
|
// WithKey returns a context with the key set.
|
|
func WithKey(ctx context.Context, sv string) context.Context {
|
|
return context.WithValue(ctx, ctxKeyKey, sv)
|
|
}
|
|
|
|
// HasKey returns true if the key is set.
|
|
func HasKey(ctx context.Context) bool {
|
|
_, ok := ctx.Value(ctxKeyKey).(string)
|
|
|
|
return ok
|
|
}
|
|
|
|
// GetKey returns the value of key or the default (empty string).
|
|
func GetKey(ctx context.Context) string {
|
|
sv, ok := ctx.Value(ctxKeyKey).(string)
|
|
if !ok {
|
|
return ""
|
|
}
|
|
|
|
return sv
|
|
}
|
|
|
|
// WithPrintChars returns the context with the print chars set.
|
|
func WithPrintChars(ctx context.Context, c []int) context.Context {
|
|
return context.WithValue(ctx, ctxKeyPrintChars, c)
|
|
}
|
|
|
|
// GetPrintChars returns a map of all character positions to print.
|
|
func GetPrintChars(ctx context.Context) []int {
|
|
mv, ok := ctx.Value(ctxKeyPrintChars).([]int)
|
|
if !ok {
|
|
return nil
|
|
}
|
|
|
|
return mv
|
|
}
|
|
|
|
// WithQRBody returns the context with the value of with QR body set.
|
|
func WithQRBody(ctx context.Context, qr bool) context.Context {
|
|
return context.WithValue(ctx, ctxKeyWithQRBody, qr)
|
|
}
|
|
|
|
// IsQRBody returns the value of with QR body or the default (false).
|
|
func IsQRBody(ctx context.Context) bool {
|
|
bv, ok := ctx.Value(ctxKeyWithQRBody).(bool)
|
|
if !ok {
|
|
return false
|
|
}
|
|
|
|
return bv
|
|
}
|