https://github.com/bbrks/wrap
📖⏎ An efficient and flexible word-wrapping package for Go (golang)
https://github.com/bbrks/wrap
go golang golang-library golang-package mit text-formatting word-wrap
Last synced: about 1 year ago
JSON representation
📖⏎ An efficient and flexible word-wrapping package for Go (golang)
- Host: GitHub
- URL: https://github.com/bbrks/wrap
- Owner: bbrks
- License: mit
- Created: 2017-02-04T00:40:40.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-01-02T19:04:08.000Z (over 5 years ago)
- Last Synced: 2024-06-19T23:31:07.075Z (almost 2 years ago)
- Topics: go, golang, golang-library, golang-package, mit, text-formatting, word-wrap
- Language: Go
- Homepage:
- Size: 43.9 KB
- Stars: 15
- Watchers: 3
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wrap [](https://pkg.go.dev/github.com/bbrks/wrap/v2) [](https://github.com/bbrks/wrap/releases) [](https://github.com/bbrks/wrap/blob/master/LICENSE) [](https://goreportcard.com/report/github.com/bbrks/wrap) [](https://codecov.io/gh/bbrks/wrap)
An efficient and flexible word-wrapping package for Go (golang)
## Usage
```go
var loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vulputate quam nibh, et faucibus enim gravida vel. Integer bibendum lectus et erat semper fermentum quis a risus. Fusce dignissim tempus metus non pretium. Nunc sagittis magna nec purus porttitor mollis. Pellentesque feugiat quam eget laoreet aliquet. Donec gravida congue massa, et sollicitudin turpis lacinia a. Fusce non tortor magna. Cras vel finibus tellus."
// Wrap when lines exceed 80 chars.
fmt.Println(wrap.Wrap(loremIpsum, 80))
// Output:
// Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vulputate quam
// nibh, et faucibus enim gravida vel. Integer bibendum lectus et erat semper
// fermentum quis a risus. Fusce dignissim tempus metus non pretium. Nunc sagittis
// magna nec purus porttitor mollis. Pellentesque feugiat quam eget laoreet
// aliquet. Donec gravida congue massa, et sollicitudin turpis lacinia a. Fusce non
// tortor magna. Cras vel finibus tellus.
```
```go
var loremIpsum = "/* Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vulputate quam nibh, et faucibus enim gravida vel. Integer bibendum lectus et erat semper fermentum quis a risus. Fusce dignissim tempus metus non pretium. Nunc sagittis magna nec purus porttitor mollis. Pellentesque feugiat quam eget laoreet aliquet. Donec gravida congue massa, et sollicitudin turpis lacinia a. Fusce non tortor magna. Cras vel finibus tellus. */"
w := wrap.NewWrapper()
// Trim the single-line block comment symbols from each input line.
w.TrimInputPrefix = "/* "
w.TrimInputSuffix = " */"
// Prefix each new line with a single-line comment symbol.
w.OutputLinePrefix = "// "
// Wrap when lines exceed 80 chars.
fmt.Println(w.Wrap(loremIpsum, 80))
// Output:
// // Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vulputate quam
// // nibh, et faucibus enim gravida vel. Integer bibendum lectus et erat semper
// // fermentum quis a risus. Fusce dignissim tempus metus non pretium. Nunc
// // sagittis magna nec purus porttitor mollis. Pellentesque feugiat quam eget
// // laoreet aliquet. Donec gravida congue massa, et sollicitudin turpis lacinia
// // a. Fusce non tortor magna. Cras vel finibus tellus.
```
### Advanced Usage and more examples (custom breakpoints, prefixes, suffixes, etc.)
See [godoc.org/github.com/bbrks/wrap](https://godoc.org/github.com/bbrks/wrap) for more examples using the `Wrapper` type to provide custom breakpoints, prefixes, suffixes, etc.
## Contributing
Issues, feature requests or improvements welcome!
## License
This project is licensed under the [MIT License](LICENSE).