diff --git a/web/src/util/emoji/data.json b/web/src/util/emoji/data.json index 708ec19..10ad638 100644 --- a/web/src/util/emoji/data.json +++ b/web/src/util/emoji/data.json @@ -18310,6 +18310,240 @@ "flaggbwls", "wales" ] + }, + { + "u": "🇦", + "c": 3, + "t": "Regional Indicator A", + "n": "regional_indicator_a", + "s": [ + "regionalindicatora" + ] + }, + { + "u": "🇧", + "c": 3, + "t": "Regional Indicator B", + "n": "regional_indicator_b", + "s": [ + "regionalindicatorb" + ] + }, + { + "u": "🇨", + "c": 3, + "t": "Regional Indicator C", + "n": "regional_indicator_c", + "s": [ + "regionalindicatorc" + ] + }, + { + "u": "🇩", + "c": 3, + "t": "Regional Indicator D", + "n": "regional_indicator_d", + "s": [ + "regionalindicatord" + ] + }, + { + "u": "🇪", + "c": 3, + "t": "Regional Indicator E", + "n": "regional_indicator_e", + "s": [ + "regionalindicatore" + ] + }, + { + "u": "🇫", + "c": 3, + "t": "Regional Indicator F", + "n": "regional_indicator_f", + "s": [ + "regionalindicatorf" + ] + }, + { + "u": "🇬", + "c": 3, + "t": "Regional Indicator G", + "n": "regional_indicator_g", + "s": [ + "regionalindicatorg" + ] + }, + { + "u": "🇭", + "c": 3, + "t": "Regional Indicator H", + "n": "regional_indicator_h", + "s": [ + "regionalindicatorh" + ] + }, + { + "u": "🇮", + "c": 3, + "t": "Regional Indicator I", + "n": "regional_indicator_i", + "s": [ + "regionalindicatori" + ] + }, + { + "u": "🇯", + "c": 3, + "t": "Regional Indicator J", + "n": "regional_indicator_j", + "s": [ + "regionalindicatorj" + ] + }, + { + "u": "🇰", + "c": 3, + "t": "Regional Indicator K", + "n": "regional_indicator_k", + "s": [ + "regionalindicatork" + ] + }, + { + "u": "🇱", + "c": 3, + "t": "Regional Indicator L", + "n": "regional_indicator_l", + "s": [ + "regionalindicatorl" + ] + }, + { + "u": "🇲", + "c": 3, + "t": "Regional Indicator M", + "n": "regional_indicator_m", + "s": [ + "regionalindicatorm" + ] + }, + { + "u": "🇳", + "c": 3, + "t": "Regional Indicator N", + "n": "regional_indicator_n", + "s": [ + "regionalindicatorn" + ] + }, + { + "u": "🇴", + "c": 3, + "t": "Regional Indicator O", + "n": "regional_indicator_o", + "s": [ + "regionalindicatoro" + ] + }, + { + "u": "🇵", + "c": 3, + "t": "Regional Indicator P", + "n": "regional_indicator_p", + "s": [ + "regionalindicatorp" + ] + }, + { + "u": "🇶", + "c": 3, + "t": "Regional Indicator Q", + "n": "regional_indicator_q", + "s": [ + "regionalindicatorq" + ] + }, + { + "u": "🇷", + "c": 3, + "t": "Regional Indicator R", + "n": "regional_indicator_r", + "s": [ + "regionalindicatorr" + ] + }, + { + "u": "🇸", + "c": 3, + "t": "Regional Indicator S", + "n": "regional_indicator_s", + "s": [ + "regionalindicators" + ] + }, + { + "u": "🇹", + "c": 3, + "t": "Regional Indicator T", + "n": "regional_indicator_t", + "s": [ + "regionalindicatort" + ] + }, + { + "u": "🇺", + "c": 3, + "t": "Regional Indicator U", + "n": "regional_indicator_u", + "s": [ + "regionalindicatoru" + ] + }, + { + "u": "🇻", + "c": 3, + "t": "Regional Indicator V", + "n": "regional_indicator_v", + "s": [ + "regionalindicatorv" + ] + }, + { + "u": "🇼", + "c": 3, + "t": "Regional Indicator W", + "n": "regional_indicator_w", + "s": [ + "regionalindicatorw" + ] + }, + { + "u": "🇽", + "c": 3, + "t": "Regional Indicator X", + "n": "regional_indicator_x", + "s": [ + "regionalindicatorx" + ] + }, + { + "u": "🇾", + "c": 3, + "t": "Regional Indicator Y", + "n": "regional_indicator_y", + "s": [ + "regionalindicatory" + ] + }, + { + "u": "🇿", + "c": 3, + "t": "Regional Indicator Z", + "n": "regional_indicator_z", + "s": [ + "regionalindicatorz" + ] } ], "c": [ diff --git a/web/src/util/emoji/generate.go b/web/src/util/emoji/generate.go index 3007052..cbd5e59 100644 --- a/web/src/util/emoji/generate.go +++ b/web/src/util/emoji/generate.go @@ -149,6 +149,26 @@ func (s *stringOrArray) UnmarshalJSON(data []byte) error { return json.Unmarshal(data, (*[]string)(s)) } +var maxSortOrder int + +func regionalIndicators(yield func(Emoji) bool) { + const regionalIndicatorA = 0x1F1E6 + const regionalIndicatorZ = 0x1F1FF + for x := regionalIndicatorA; x <= regionalIndicatorZ; x++ { + shortcode := fmt.Sprintf("regional_indicator_%c", x-regionalIndicatorA+'a') + emoji := Emoji{ + Unified: fmt.Sprintf("%X", x), + ShortName: shortcode, + ShortNames: []string{shortcode}, + Category: "Flags", + SortOrder: maxSortOrder + x - regionalIndicatorA, + } + if !yield(emoji) { + return + } + } +} + func main() { var emojis []Emoji resp := exerrors.Must(http.Get("https://raw.githubusercontent.com/iamcal/emoji-data/master/emoji.json")) @@ -158,6 +178,10 @@ func main() { slices.SortFunc(emojis, func(a, b Emoji) int { return a.SortOrder - b.SortOrder }) + maxSortOrder = emojis[len(emojis)-1].SortOrder + for emoji := range regionalIndicators { + emojis = append(emojis, emoji) + } data := &outputData{ Emojis: make([]*outputEmoji, len(emojis)),