Help us shape the future of Go! Take the 2026 Go Developer Survey

escapingio

package
v1.6.112 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2023 License: MPL-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewReader

func NewReader(r io.Reader, c byte, h Handler) io.Reader

NewReader returns a reader that escapes the c character (following new lines), in the same manner OpenSSH handling, which defaults to `~`.

For illustrative purposes, we use `~` in documentation as a shorthand for escaping character.

If following a new line, reader sees:

  • `~~`, only one is emitted
  • `~.` (or any character), the handler is invoked with the character. If handler returns true, `~.` will be skipped; otherwise, it's propagated.
  • `~` and it's the last character in stream, it's propagated

Appearances of `~` when not preceded by a new line are propagated unmodified.

Types

type Handler

type Handler func(c byte) bool

Handler is a callback for handling an escaped char. Reader would skip the escape char and passed char if returns true; otherwise, it preserves them in output

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL