Skip to content

A library for formatting text - indenting and line wrapping

License

Notifications You must be signed in to change notification settings

posener/formatter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

formatter

Build Status codecov GoDoc goreadme

formatter is a library for formatting text.

The Formatter wraps an io.Writer and formats text written to it. It enables text indenting and line width wrapping.

Examples

// Create a new formatter.
f := Formatter{
    // For formatter wraps a writer. The writer is where the output will be written to.
    Writer: os.Stdout,
    // Define text indentation. This could be spaces, tabs or any other character set. It will
    // be inserted in the beginning of the text and after every new line. Leave it nil for not
    // indenting the text.
    Indent: []byte(">  "),
    // Width defines line width for applying line wrap. Any non-positive number will be ignored.
    Width: 80,
}

// Writing into the formatter will result in the formatted text being written into the defined
// `Formatter.Writer`.
_, err := f.Write([]byte(loremIpsum))
if err != nil {
    // Handle error :-)
    panic("failed writing Lorem Ipsum")
}

Output:

>  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
>  tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
>  quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
>  consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
>  cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
>  proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


Created by goreadme