code: func (ei *escapeInterpreter) outputNormal() error {
  	for _, param := range ei.csiParam {
  		p, err := strconv.Atoi(param)
  		if err != nil {
  			return errCSIParseError
  		}
  
  		switch {
  		case p >= 30 && p <= 37:
  			ei.curFgColor = Attribute(p - 30 + 1)
  		case p == 39:
  			ei.curFgColor = ColorDefault
  		case p >= 40 && p <= 47:
  			ei.curBgColor = Attribute(p - 40 + 1)
  		case p == 49:
  			ei.curBgColor = ColorDefault
  		case p == 1:
  			ei.curFgColor |= AttrBold
  		case p == 4:
  			ei.curFgColor |= AttrUnderline
  		case p == 7:
  			ei.curFgColor |= AttrReverse
  		case p == 0:
  			ei.curFgColor = ColorDefault
  			ei.curBgColor = ColorDefault
  		}
  	}
  
  	return nil
  }
docs: // outputNormal provides 8 different colors:
  //   black, red, green, yellow, blue, magenta, cyan, white