Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrInterrupted = errors.New("interrupted")
Functions ¶
func IsInterrupted ¶
IsInterrupted checks if the error is related to an interruption (Context Canceled, ErrInterrupted, or EOF).
func IsTerminal ¶
IsTerminal checks if the given file is a terminal. For now, we rely on basic checks or x/term if needed, but for simple cases we just assume it's okay. We might add x/term dependency later if we need IsTerminal check.
func Open ¶
func Open() (io.ReadCloser, error)
Open returns the standard input reader. On POSIX, it simply returns os.Stdin.
Types ¶
type InterruptibleReader ¶
type InterruptibleReader struct {
// contains filtered or unexported fields
}
InterruptibleReader wraps an io.Reader and checks for cancellation before and after reads. Note: The underlying Read() call may still block! This wrapper primarily ensures that if the context is cancelled *before* we read, we return immediately, and if cancelled *during* the read (and the read returns), we prioritize the cancellation error.
func NewInterruptibleReader ¶
func NewInterruptibleReader(base io.Reader, cancel <-chan struct{}) *InterruptibleReader
NewInterruptibleReader returns a reader that checks the cancel channel.