escapingio

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2021 License: MPL-2.0 Imports: 2 Imported by: 17

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