mirror of
https://github.com/gopasspw/gopass.git
synced 2025-12-08 19:24:54 +00:00
* Add some hooks Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> * Add generic hooks Fixes #2500 Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> * Address some review comments and fix some tests. Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> * Document options Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> * Error formatting Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org> Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
66 lines
1.7 KiB
Go
66 lines
1.7 KiB
Go
package exit
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/gopasspw/gopass/pkg/debug"
|
|
"github.com/urfave/cli/v2"
|
|
)
|
|
|
|
const (
|
|
// OK means no error (status code 0).
|
|
OK = iota
|
|
// Unknown is used if we can't determine the exact exit cause.
|
|
Unknown
|
|
// Usage is used if there was some kind of invocation error.
|
|
Usage
|
|
// Aborted is used if the user willingly aborted an action.
|
|
Aborted
|
|
// Unsupported is used if an operation is not supported by gopass.
|
|
Unsupported
|
|
// AlreadyInitialized is used if someone is trying to initialize.
|
|
// an already initialized store.
|
|
AlreadyInitialized
|
|
// NotInitialized is used if someone is trying to use an unitialized.
|
|
// store.
|
|
NotInitialized
|
|
// Git is used if any git errors are encountered.
|
|
Git
|
|
// Mount is used if a substore mount operation fails.
|
|
Mount
|
|
// NoName is used when no name was provided for a named entry.
|
|
NoName
|
|
// NotFound is used if a requested secret is not found.
|
|
NotFound
|
|
// Decrypt is used when reading/decrypting a secret failed.
|
|
Decrypt
|
|
// Encrypt is used when writing/encrypting of a secret fails.
|
|
Encrypt
|
|
// List is used when listing the store content fails.
|
|
List
|
|
// Audit is used when audit report possible issues.
|
|
Audit
|
|
// Fsck is used when the integrity check fails.
|
|
Fsck
|
|
// Config is used when config errors occur.
|
|
Config
|
|
// Recipients is used when a recipient operation fails.
|
|
Recipients
|
|
// IO is used for misc. I/O errors.
|
|
IO
|
|
// GPG is used for misc. gpg errors.
|
|
GPG
|
|
// Hook is used for Hook failures.
|
|
Hook
|
|
)
|
|
|
|
// Error returns a user friendly CLI error.
|
|
func Error(exitCode int, err error, format string, args ...any) error {
|
|
msg := fmt.Sprintf(format, args...)
|
|
if err != nil {
|
|
debug.LogN(1, "%s - stacktrace: %+v", msg, err)
|
|
}
|
|
|
|
return cli.Exit(msg, exitCode)
|
|
}
|