code: func (p *printer) indent(buf []byte) []byte {
  	var prefix []byte
  	if p.cfg.SpacesWidth != 0 {
  		for i := 0; i < p.cfg.SpacesWidth; i++ {
  			prefix = append(prefix, blank)
  		}
  	} else {
  		prefix = []byte{tab}
  	}
  
  	var res []byte
  	bol := true
  	for _, c := range buf {
  		if bol && c != '\n' {
  			res = append(res, prefix...)
  		}
  
  		res = append(res, c)
  		bol = c == '\n'
  	}
  	return res
  }
docs: // indent indents the lines of the given buffer for each non-empty line