code: func (w *Writer) writeRaw(s string) (int, error) {
  	c, err := w.getColorer()
  	if err != nil {
  		return -1, err
  	}
  	nWritten := 0
  	for _, r := range s {
  		c.rainbow(freq, float64(w.origin)+float64(w.lineIdx)/spread)
  		_, err := w.Output.Write(c.format())
  		if err != nil {
  			return nWritten, err
  		}
  		n, err := w.Output.Write([]byte(string(r)))
  		if err != nil {
  			return nWritten, err
  		}
  		_, err = w.Output.Write(c.reset())
  		if err != nil {
  			return nWritten, err
  		}
  		nWritten += n
  		w.lineIdx++
  	}
  	return nWritten, nil
  }
docs: // writeRaw will write a lol'd s to the underlying writer.  It does no line
  // detection.