code: func lexEmoji(l *pageLexer) stateFunc {
  	pos := l.pos + 1
  	valid := false
  
  	for i := pos; i < len(l.input); i++ {
  		if i > pos && l.input[i] == emojiDelim {
  			pos = i + 1
  			valid = true
  			break
  		}
  		r, _ := utf8.DecodeRune(l.input[i:])
  		if !(isAlphaNumericOrHyphen(r) || r == '+') {
  			break
  		}
  	}
  
  	if valid {
  		l.pos = pos
  		l.emit(TypeEmoji)
  	} else {
  		l.pos++
  		l.emit(tText)
  	}
  
  	return lexMainSection
  }
docs: // lex a string starting at ":"