prysm-pulse/vendor/github.com/mitchellh/go-wordwrap
Preston Van Loon a41e372b39 First pass collation
Former-commit-id: fa0dc873367b92a06b10fd989e3fec960c03065a [formerly e98efffa565ea6aa3eadeb19c2f9a66a56eb5ddd]
Former-commit-id: ce6e4f01d12015e67a51aa7d928a6ab8e8eedeee
2018-01-12 22:59:17 -05:00
..
LICENSE.md First pass collation 2018-01-12 22:59:17 -05:00
README.md First pass collation 2018-01-12 22:59:17 -05:00
wordwrap.go First pass collation 2018-01-12 22:59:17 -05:00

go-wordwrap

go-wordwrap (Golang package: wordwrap) is a package for Go that automatically wraps words into multiple lines. The primary use case for this is in formatting CLI output, but of course word wrapping is a generally useful thing to do.

Installation and Usage

Install using go get github.com/mitchellh/go-wordwrap.

Full documentation is available at http://godoc.org/github.com/mitchellh/go-wordwrap

Below is an example of its usage ignoring errors:

wrapped := wordwrap.WrapString("foo bar baz", 3)
fmt.Println(wrapped)

Would output:

foo
bar
baz

Word Wrap Algorithm

This library doesn't use any clever algorithm for word wrapping. The wrapping is actually very naive: whenever there is whitespace or an explicit linebreak. The goal of this library is for word wrapping CLI output, so the input is typically pretty well controlled human language. Because of this, the naive approach typically works just fine.

In the future, we'd like to make the algorithm more advanced. We would do so without breaking the API.