diff --git a/key.go b/key.go index 74f85ec405..a49152c3db 100644 --- a/key.go +++ b/key.go @@ -547,7 +547,7 @@ func readInputs(ctx context.Context, msgs chan<- Msg, input io.Reader) error { // Read and block. numBytes, err := input.Read(buf[:]) if err != nil { - return err + return fmt.Errorf("error reading input: %w", err) } b := buf[:numBytes] @@ -558,7 +558,11 @@ func readInputs(ctx context.Context, msgs chan<- Msg, input io.Reader) error { select { case msgs <- msg: case <-ctx.Done(): - return ctx.Err() + err := ctx.Err() + if err != nil { + err = fmt.Errorf("found context error while reading input: %w", err) + } + return err } } } diff --git a/logging.go b/logging.go index 59258d4c7c..e60626994a 100644 --- a/logging.go +++ b/logging.go @@ -1,6 +1,7 @@ package tea import ( + "fmt" "io" "log" "os" @@ -32,9 +33,9 @@ type LogOptionsSetter interface { // LogToFileWith does allows to call LogToFile with a custom LogOptionsSetter. func LogToFileWith(path string, prefix string, log LogOptionsSetter) (*os.File, error) { - f, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0o644) + f, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0o644) //nolint:gomnd if err != nil { - return nil, err + return nil, fmt.Errorf("error opening file for logging: %w", err) } log.SetOutput(f)