code: func compileColorSyntax(input, output *bytes.Buffer) {
  	i, _, err := input.ReadRune()
  	if err != nil {
  		// EOF got
  		log.Print("Parse failed on color syntax")
  		return
  	}
  
  	switch i {
  	default:
  		output.WriteString(Colorize(string(i)))
  	case '{':
  		color := bytes.NewBufferString("")
  		for {
  			i, _, err := input.ReadRune()
  			if err != nil {
  				log.Print("Parse failed on color syntax")
  				break
  			}
  			if i == '}' {
  				break
  			}
  			color.WriteRune(i)
  		}
  		output.WriteString(Colorize(color.String()))
  	case EscapeChar:
  		output.WriteRune(EscapeChar)
  	}
  }
docs: // Handle state after meeting one '@'