in src/scala/generator/src/main/scala/EmojiInfoGeneratedView.scala [131:156]
private def spanString(seq: Seq[(Int, Int)]): String = {
seq match {
case Nil => ""
// Singleton item (no need to make a char group)
case (start, end) :: Nil if (start == end) => unicodePattern(start)
// A char group with at least 2 items
case _ =>
seq
.map {
case (start, end) =>
if (start == end) {
// Singleton item in a group
unicodePattern(start)
} else if (start + 1 == end) {
// Adjacent items in a group, no need to make a range
unicodePattern(start) + unicodePattern(end)
} else {
// Range of items in a group
unicodePattern(start) + "-" + unicodePattern(end)
}
}
.mkString("[", "", "]")
}
}