type Formatter … // Indent creates a new Formatter that will indent the code by that much more. func (f Formatter) Indent(indent int) *Formatter { … } // Write writes a string with the indentation set for the // Formatter. This is not wrapping text. func (f *Formatter) Write(str string, a ...interface{ … } // WriteWrapped writes a string with the indentation set for the // Formatter, and wraps as needed. func (f *Formatter) WriteWrapped(str string, a ...interface{ … } type line … func (l *line) String() string { … } func (l *line) Empty() bool { … } func (l *line) Len() int { … } // Add adds the word to the line, returns true if we could, false if we // didn't have enough room. It's always possible to add to an empty line. func (l *line) Add(word string) bool { … } var bullet … func shouldStartNewLine(lastWord, str string) bool { … } func wrapString(str string, wrap int) []string { … }