vimwiki/autoload/vimwiki/emoji.vim
Tinmarino 39407014c8 Syntax: Stricter typeface and fix preCode (alias inline) nested in bold
Fix: Syntax bug precode nested in bold apperead bold

Problem:
1. `that_ HERE _was` italic
2. `__that ``HERE`` was__  bold => PreCode should not receive typeface
region changes

Solution:
1. Stricter regex (and add \* to VimwikiError)
2. Add VikiError and WikiPre to nestables syntaxes
2020-08-12 01:37:27 -04:00

1831 lines
52 KiB
VimL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

" vim:tabstop=2:shiftwidth=2:expandtab:textwidth=99
" File: Emoji List
" Home: https://github.com/vimwiki/vimwiki/
" Desc: For emoji concealing and completion
" Called: syntax/vimwiki.vim
" List Copied From: https://github.com/onmyway133/emoji/blob/master/README.md
" Code Copied From: https://github.com/junegunn/vim-emoji
scriptencoding utf-8
let s:emoji_single = {
\ '+1': '👍',
\ '-1': '👎',
\ '100': '💯',
\ '1234': '🔢',
\ '1st_place_medal': '🥇',
\ '2nd_place_medal': '🥈',
\ '3rd_place_medal': '🥉',
\ '8ball': '🎱',
\ 'a': '🅰️',
\ 'ab': '🆎',
\ 'abacus': '🧮',
\ 'abc': '🔤',
\ 'abcd': '🔡',
\ 'accept': '🉑',
\ 'accordion': '🪗',
\ 'adhesive_bandage': '🩹',
\ 'adult': '🧑',
\ 'aerial_tramway': '🚡',
\ 'airplane': '✈️',
\ 'alarm_clock': '⏰',
\ 'alembic': '⚗️',
\ 'alien': '👽',
\ 'ambulance': '🚑',
\ 'amphora': '🏺',
\ 'anatomical_heart': '🫀',
\ 'anchor': '⚓️',
\ 'angel': '👼',
\ 'anger': '💢',
\ 'angry': '😠',
\ 'anguished': '😧',
\ 'ant': '🐜',
\ 'apple': '🍎',
\ 'aquarius': '♒️',
\ 'aries': '♈️',
\ 'arrow_backward': '◀️',
\ 'arrow_double_down': '⏬',
\ 'arrow_double_up': '⏫',
\ 'arrow_down': '⬇️',
\ 'arrow_down_small': '🔽',
\ 'arrow_forward': '▶️',
\ 'arrow_heading_down': '⤵️',
\ 'arrow_heading_up': '⤴️',
\ 'arrow_left': '⬅️',
\ 'arrow_lower_left': '↙️',
\ 'arrow_lower_right': '↘️',
\ 'arrow_right': '➡️',
\ 'arrow_right_hook': '↪️',
\ 'arrow_up': '⬆️',
\ 'arrow_up_down': '↕️',
\ 'arrow_up_small': '🔼',
\ 'arrow_upper_left': '↖️',
\ 'arrow_upper_right': '↗️',
\ 'arrows_clockwise': '🔃',
\ 'arrows_counterclockwise': '🔄',
\ 'art': '🎨',
\ 'articulated_lorry': '🚛',
\ 'artificial_satellite': '🛰️',
\ 'asterisk': '*️⃣',
\ 'astonished': '😲',
\ 'athletic_shoe': '👟',
\ 'atm': '🏧',
\ 'atom_symbol': '⚛️',
\ 'auto_rickshaw': '🛺',
\ 'avocado': '🥑',
\ 'axe': '🪓',
\ 'b': '🅱️',
\ 'baby': '👶',
\ 'baby_bottle': '🍼',
\ 'baby_chick': '🐤',
\ 'baby_symbol': '🚼',
\ 'back': '🔙',
\ 'bacon': '🥓',
\ 'badger': '🦡',
\ 'badminton': '🏸',
\ 'bagel': '🥯',
\ 'baggage_claim': '🛄',
\ 'baguette_bread': '🥖',
\ 'balance_scale': '⚖️',
\ 'ballet_shoes': '🩰',
\ 'balloon': '🎈',
\ 'ballot_box': '🗳️',
\ 'ballot_box_with_check': '☑️',
\ 'bamboo': '🎍',
\ 'banana': '🍌',
\ 'bangbang': '‼️',
\ 'banjo': '🪕',
\ 'bank': '🏦',
\ 'bar_chart': '📊',
\ 'barber': '💈',
\ 'baseball': '⚾',
\ 'basket': '🧺',
\ 'basketball': '🏀',
\ 'basketball_man': '⛹️',
\ 'bat': '🦇',
\ 'bath': '🛀',
\ 'bathtub': '🛁',
\ 'battery': '🔋',
\ 'beach_umbrella': '🏖️',
\ 'bear': '🐻',
\ 'bearded_person': '🧔',
\ 'beaver': '🦫',
\ 'bed': '🛏️',
\ 'bee': '🐝',
\ 'beer': '🍺',
\ 'beers': '🍻',
\ 'beetle': '🐞',
\ 'beginner': '🔰',
\ 'bell': '🔔',
\ 'bell_pepper': '🫑',
\ 'bellhop_bell': '🛎️',
\ 'bento': '🍱',
\ 'beverage_box': '🧃',
\ 'bicyclist': '🚴',
\ 'bike': '🚲',
\ 'biking_man': '🚴',
\ 'bikini': '👙',
\ 'billed_cap': '🧢',
\ 'biohazard': '☣️',
\ 'bird': '🐦',
\ 'birthday': '🎂',
\ 'bison': '🦬',
\ 'black_circle': '⚫️',
\ 'black_flag': '🏴',
\ 'black_heart': '🖤',
\ 'black_joker': '🃏',
\ 'black_large_square': '⬛️',
\ 'black_medium_small_square': '◾️',
\ 'black_medium_square': '◼️',
\ 'black_nib': '✒️',
\ 'black_small_square': '▪️',
\ 'black_square_button': '🔲',
\ 'blond_haired_person': '👱',
\ 'blonde_man': '👱',
\ 'blossom': '🌼',
\ 'blowfish': '🐡',
\ 'blue_book': '📘',
\ 'blue_car': '🚙',
\ 'blue_heart': '💙',
\ 'blue_square': '🟦',
\ 'blueberries': '🫐',
\ 'blush': '😊',
\ 'boar': '🐗',
\ 'boat': '⛵️',
\ 'bomb': '💣',
\ 'bone': '🦴',
\ 'book': '📖',
\ 'bookmark': '🔖',
\ 'bookmark_tabs': '📑',
\ 'books': '📚',
\ 'boom': '💥',
\ 'boomerang': '🪃',
\ 'boot': '👢',
\ 'bouncing_ball_person': '⛹️',
\ 'bouquet': '💐',
\ 'bow': '🙇',
\ 'bow_and_arrow': '🏹',
\ 'bowing_man': '🙇',
\ 'bowl_with_spoon': '🥣',
\ 'bowling': '🎳',
\ 'boxing_glove': '🥊',
\ 'boy': '👦',
\ 'brain': '🧠',
\ 'bread': '🍞',
\ 'breast_feeding': '🤱',
\ 'bricks': '🧱',
\ 'bride_with_veil': '👰',
\ 'bridge_at_night': '🌉',
\ 'briefcase': '💼',
\ 'broccoli': '🥦',
\ 'broken_heart': '💔',
\ 'broom': '🧹',
\ 'brown_circle': '🟤',
\ 'brown_heart': '🤎',
\ 'brown_square': '🟫',
\ 'bubble_tea': '🧋',
\ 'bucket': '🪣',
\ 'bug': '🐛',
\ 'building_construction': '🏗️',
\ 'bulb': '💡',
\ 'bullettrain_front': '🚅',
\ 'bullettrain_side': '🚄',
\ 'burrito': '🌯',
\ 'bus': '🚌',
\ 'business_suit_levitating': '🕴️',
\ 'busstop': '🚏',
\ 'bust_in_silhouette': '👤',
\ 'busts_in_silhouette': '👥',
\ 'butter': '🧈',
\ 'butterfly': '🦋',
\ 'cactus': '🌵',
\ 'cake': '🍰',
\ 'calendar': '📆',
\ 'call_me_hand': '🤙',
\ 'calling': '📲',
\ 'camel': '🐫',
\ 'camera': '📷',
\ 'camera_flash': '📸',
\ 'camping': '🏕️',
\ 'cancer': '♋️',
\ 'candle': '🕯️',
\ 'candy': '🍬',
\ 'canned_food': '🥫',
\ 'canoe': '🛶',
\ 'capital_abcd': '🔠',
\ 'capricorn': '♑️',
\ 'car': '🚗',
\ 'card_file_box': '🗃️',
\ 'card_index': '📇',
\ 'card_index_dividers': '🗂️',
\ 'carousel_horse': '🎠',
\ 'carpentry_saw': '🪚',
\ 'carrot': '🥕',
\ 'cartwheeling': '🤸',
\ 'cat': '🐱',
\ 'cat2': '🐈',
\ 'cd': '💿',
\ 'chains': '⛓️',
\ 'chair': '🪑',
\ 'champagne': '🍾',
\ 'chart': '💹',
\ 'chart_with_downwards_trend': '📉',
\ 'chart_with_upwards_trend': '📈',
\ 'checkered_flag': '🏁',
\ 'cheese': '🧀',
\ 'cherries': '🍒',
\ 'cherry_blossom': '🌸',
\ 'chess_pawn': '♟️',
\ 'chestnut': '🌰',
\ 'chicken': '🐔',
\ 'child': '🧒',
\ 'children_crossing': '🚸',
\ 'chipmunk': '🐿️',
\ 'chocolate_bar': '🍫',
\ 'chopsticks': '🥢',
\ 'christmas_tree': '🎄',
\ 'church': '⛪️',
\ 'cinema': '🎦',
\ 'circus_tent': '🎪',
\ 'city_sunrise': '🌇',
\ 'city_sunset': '🌆',
\ 'cityscape': '🏙️',
\ 'cl': '🆑',
\ 'clamp': '🗜️',
\ 'clap': '👏',
\ 'clapper': '🎬',
\ 'classical_building': '🏛️',
\ 'climbing': '🧗',
\ 'clinking_glasses': '🥂',
\ 'clipboard': '📋',
\ 'clock1': '🕐',
\ 'clock10': '🕙',
\ 'clock1030': '🕥',
\ 'clock11': '🕚',
\ 'clock1130': '🕦',
\ 'clock12': '🕛',
\ 'clock1230': '🕧',
\ 'clock130': '🕜',
\ 'clock2': '🕑',
\ 'clock230': '🕝',
\ 'clock3': '🕒',
\ 'clock330': '🕞',
\ 'clock4': '🕓',
\ 'clock430': '🕟',
\ 'clock5': '🕔',
\ 'clock530': '🕠',
\ 'clock6': '🕕',
\ 'clock630': '🕡',
\ 'clock7': '🕖',
\ 'clock730': '🕢',
\ 'clock8': '🕗',
\ 'clock830': '🕣',
\ 'clock9': '🕘',
\ 'clock930': '🕤',
\ 'closed_book': '📕',
\ 'closed_lock_with_key': '🔐',
\ 'closed_umbrella': '🌂',
\ 'cloud': '☁️',
\ 'cloud_with_lightning': '🌩️',
\ 'cloud_with_lightning_and_rain': '⛈️',
\ 'cloud_with_rain': '🌧️',
\ 'cloud_with_snow': '🌨️',
\ 'clown_face': '🤡',
\ 'clubs': '♣️',
\ 'coat': '🧥',
\ 'cockroach': '🪳',
\ 'cocktail': '🍸',
\ 'coconut': '🥥',
\ 'coffee': '☕️',
\ 'coffin': '⚰️',
\ 'coin': '🪙',
\ 'cold_face': '🥶',
\ 'cold_sweat': '😰',
\ 'collision': '💥',
\ 'comet': '☄️',
\ 'compass': '🧭',
\ 'computer': '💻',
\ 'computer_mouse': '🖱️',
\ 'confetti_ball': '🎊',
\ 'confounded': '😖',
\ 'confused': '😕',
\ 'congratulations': '㊗️',
\ 'construction': '🚧',
\ 'construction_worker': '👷',
\ 'construction_worker_man': '👷',
\ 'control_knobs': '🎛',
\ 'convenience_store': '🏪',
\ 'cookie': '🍪',
\ 'cool': '🆒',
\ 'cop': '👮',
\ 'copyright': '©️',
\ 'corn': '🌽',
\ 'couch_and_lamp': '🛋️',
\ 'couple': '👫',
\ 'couple_with_heart': '💑',
\ 'couple_with_heart_woman_man': '💑',
\ 'couplekiss': '💏',
\ 'couplekiss_man_woman': '💏',
\ 'cow': '🐮',
\ 'cow2': '🐄',
\ 'cowboy_hat_face': '🤠',
\ 'crab': '🦀',
\ 'crayon': '🖍️',
\ 'credit_card': '💳',
\ 'crescent_moon': '🌙',
\ 'cricket': '🏏',
\ 'cricket_game': '🏏',
\ 'crocodile': '🐊',
\ 'croissant': '🥐',
\ 'crossed_fingers': '🤞',
\ 'crossed_flags': '🎌',
\ 'crossed_swords': '⚔️',
\ 'crown': '👑',
\ 'cry': '😢',
\ 'crying_cat_face': '😿',
\ 'crystal_ball': '🔮',
\ 'cucumber': '🥒',
\ 'cup_with_straw': '🥤',
\ 'cupcake': '🧁',
\ 'cupid': '💘',
\ 'curling_stone': '🥌',
\ 'curly_loop': '➰',
\ 'currency_exchange': '💱',
\ 'curry': '🍛',
\ 'cursing_face': '🤬',
\ 'custard': '🍮',
\ 'customs': '🛃',
\ 'cut_of_meat': '🥩',
\ 'cyclone': '🌀',
\ 'dagger': '🗡️',
\ 'dancer': '💃',
\ 'dancers': '👯',
\ 'dancing_women': '👯',
\ 'dango': '🍡',
\ 'dark_sunglasses': '🕶️',
\ 'dart': '🎯',
\ 'dash': '💨',
\ 'date': '📅',
\ 'deaf_person': '🧏',
\ 'deciduous_tree': '🌳',
\ 'deer': '🦌',
\ 'department_store': '🏬',
\ 'derelict_house': '🏚',
\ 'desert': '🏜️',
\ 'desert_island': '🏝️',
\ 'desktop_computer': '🖥️',
\ 'detective': '🕵️',
\ 'diamond_shape_with_a_dot_inside': '💠',
\ 'diamonds': '♦️',
\ 'disappointed': '😞',
\ 'disappointed_relieved': '😥',
\ 'disguised_face': '🥸',
\ 'diving_mask': '🤿',
\ 'diya_lamp': '🪔',
\ 'dizzy': '💫',
\ 'dizzy_face': '😵',
\ 'dna': '🧬',
\ 'do_not_litter': '🚯',
\ 'dodo': '🦤',
\ 'dog': '🐶',
\ 'dog2': '🐕',
\ 'dollar': '💵',
\ 'dolls': '🎎',
\ 'dolphin': '🐬',
\ 'door': '🚪',
\ 'doughnut': '🍩',
\ 'dove': '🕊️',
\ 'dragon': '🐉',
\ 'dragon_face': '🐲',
\ 'dress': '👗',
\ 'dromedary_camel': '🐪',
\ 'drooling_face': '🤤',
\ 'drop_of_blood': '🩸',
\ 'droplet': '💧',
\ 'drum': '🥁',
\ 'duck': '🦆',
\ 'dumpling': '🥟',
\ 'dvd': '📀',
\ 'e-mail': '📧',
\ 'eagle': '🦅',
\ 'ear': '👂',
\ 'ear_of_rice': '🌾',
\ 'ear_with_hearing_aid': '🦻',
\ 'earth_africa': '🌍',
\ 'earth_americas': '🌎',
\ 'earth_asia': '🌏',
\ 'egg': '🥚',
\ 'eggplant': '🍆',
\ 'eight': '8⃣',
\ 'eight_pointed_black_star': '✴️',
\ 'eight_spoked_asterisk': '✳️',
\ 'eject_button': '⏏️',
\ 'electric_plug': '🔌',
\ 'elephant': '🐘',
\ 'elevator': '🛗',
\ 'elf': '🧝',
\ 'email': '✉️',
\ 'end': '🔚',
\ 'envelope': '✉️',
\ 'envelope_with_arrow': '📩',
\ 'euro': '💶',
\ 'european_castle': '🏰',
\ 'european_post_office': '🏤',
\ 'evergreen_tree': '🌲',
\ 'exclamation': '❗️',
\ 'exploding_head': '🤯',
\ 'expressionless': '😑',
\ 'eye': '👁',
\ 'eyeglasses': '👓',
\ 'eyes': '👀',
\ 'face_with_head_bandage': '🤕',
\ 'face_with_thermometer': '🤒',
\ 'facepalm': '🤦',
\ 'facepunch': '👊',
\ 'factory': '🏭',
\ 'fairy': '🧚',
\ 'falafel': '🧆',
\ 'fallen_leaf': '🍂',
\ 'family': '👪',
\ 'family_man_woman_boy': '👪',
\ 'fast_forward': '⏩',
\ 'fax': '📠',
\ 'fearful': '😨',
\ 'feather': '🪶',
\ 'feet': '🐾',
\ 'female_sign': '♀️',
\ 'ferris_wheel': '🎡',
\ 'ferry': '⛴️',
\ 'field_hockey': '🏑',
\ 'file_cabinet': '🗄️',
\ 'file_folder': '📁',
\ 'film_projector': '📽️',
\ 'film_strip': '🎞️',
\ 'fire': '🔥',
\ 'fire_engine': '🚒',
\ 'fire_extinguisher': '🧯',
\ 'firecracker': '🧨',
\ 'fireworks': '🎆',
\ 'first_quarter_moon': '🌓',
\ 'first_quarter_moon_with_face': '🌛',
\ 'fish': '🐟',
\ 'fish_cake': '🍥',
\ 'fishing_pole_and_fish': '🎣',
\ 'fist': '✊',
\ 'fist_left': '🤛',
\ 'fist_oncoming': '👊',
\ 'fist_raised': '✊',
\ 'fist_right': '🤜',
\ 'five': '5⃣',
\ 'flags': '🎏',
\ 'flamingo': '🦩',
\ 'flashlight': '🔦',
\ 'flat_shoe': '🥿',
\ 'flatbread': '🫓',
\ 'fleur_de_lis': '⚜️',
\ 'flight_arrival': '🛬',
\ 'flight_departure': '🛫',
\ 'floppy_disk': '💾',
\ 'flower_playing_cards': '🎴',
\ 'flushed': '😳',
\ 'fly': '🪰',
\ 'flying_disc': '🥏',
\ 'flying_saucer': '🛸',
\ 'fog': '🌫️',
\ 'foggy': '🌁',
\ 'fondue': '🫕',
\ 'foot': '🦶',
\ 'football': '🏈',
\ 'footprints': '👣',
\ 'fork_and_knife': '🍴',
\ 'fortune_cookie': '🥠',
\ 'fountain': '⛲️',
\ 'fountain_pen': '🖋️',
\ 'four': '4⃣',
\ 'four_leaf_clover': '🍀',
\ 'fox_face': '🦊',
\ 'framed_picture': '🖼️',
\ 'free': '🆓',
\ 'fried_egg': '🍳',
\ 'fried_shrimp': '🍤',
\ 'fries': '🍟',
\ 'frog': '🐸',
\ 'frowning': '😦',
\ 'frowning_face': '☹️',
\ 'frowning_person': '🙍',
\ 'frowning_woman': '🙍',
\ 'fu': '🖕',
\ 'fuelpump': '⛽️',
\ 'full_moon': '🌕',
\ 'full_moon_with_face': '🌝',
\ 'funeral_urn': '⚱️',
\ 'game_die': '🎲',
\ 'garlic': '🧄',
\ 'gear': '⚙️',
\ 'gem': '💎',
\ 'gemini': '♊️',
\ 'genie': '🧞',
\ 'ghost': '👻',
\ 'gift': '🎁',
\ 'gift_heart': '💝',
\ 'giraffe': '🦒',
\ 'girl': '👧',
\ 'globe_with_meridians': '🌐',
\ 'gloves': '🧤',
\ 'goal_net': '🥅',
\ 'goat': '🐐',
\ 'goggles': '🥽',
\ 'golf': '⛳️',
\ 'golfing': '🏌️',
\ 'golfing_man': '🏌️',
\ 'gorilla': '🦍',
\ 'grapes': '🍇',
\ 'green_apple': '🍏',
\ 'green_book': '📗',
\ 'green_circle': '🟢',
\ 'green_heart': '💚',
\ 'green_salad': '🥗',
\ 'green_square': '🟩',
\ 'grey_exclamation': '❕',
\ 'grey_question': '❔',
\ 'grimacing': '😬',
\ 'grin': '😁',
\ 'grinning': '😀',
\ 'guard': '💂',
\ 'guardsman': '💂',
\ 'guide_dog': '🦮',
\ 'guitar': '🎸',
\ 'gun': '🔫',
\ 'haircut': '💇',
\ 'haircut_woman': '💇',
\ 'hamburger': '🍔',
\ 'hammer': '🔨',
\ 'hammer_and_pick': '⚒️',
\ 'hammer_and_wrench': '🛠️',
\ 'hamster': '🐹',
\ 'hand': '✋',
\ 'hand_over_mouth': '🤭',
\ 'handbag': '👜',
\ 'handball_person': '🤾',
\ 'handshake': '🤝',
\ 'hankey': '💩',
\ 'hash': '#️⃣',
\ 'hatched_chick': '🐥',
\ 'hatching_chick': '🐣',
\ 'headphones': '🎧',
\ 'headstone': '🪦',
\ 'hear_no_evil': '🙉',
\ 'heart': '❤️',
\ 'heart_decoration': '💟',
\ 'heart_eyes': '😍',
\ 'heart_eyes_cat': '😻',
\ 'heartbeat': '💓',
\ 'heartpulse': '💗',
\ 'hearts': '♥️',
\ 'heavy_check_mark': '✔️',
\ 'heavy_division_sign': '➗',
\ 'heavy_dollar_sign': '💲',
\ 'heavy_exclamation_mark': '❗️',
\ 'heavy_heart_exclamation': '❣️',
\ 'heavy_minus_sign': '',
\ 'heavy_multiplication_x': '✖️',
\ 'heavy_plus_sign': '',
\ 'hedgehog': '🦔',
\ 'helicopter': '🚁',
\ 'herb': '🌿',
\ 'hibiscus': '🌺',
\ 'high_brightness': '🔆',
\ 'high_heel': '👠',
\ 'hiking_boot': '🥾',
\ 'hindu_temple': '🛕',
\ 'hippopotamus': '🦛',
\ 'hocho': '🔪',
\ 'hole': '🕳️',
\ 'honey_pot': '🍯',
\ 'honeybee': '🐝',
\ 'hook': '🪝',
\ 'horse': '🐴',
\ 'horse_racing': '🏇',
\ 'hospital': '🏥',
\ 'hot_face': '🥵',
\ 'hot_pepper': '🌶️',
\ 'hotdog': '🌭',
\ 'hotel': '🏨',
\ 'hotsprings': '♨️',
\ 'hourglass': '⌛️',
\ 'hourglass_flowing_sand': '⏳',
\ 'house': '🏠',
\ 'house_with_garden': '🏡',
\ 'houses': '🏘️',
\ 'hugs': '🤗',
\ 'hushed': '😯',
\ 'hut': '🛖',
\ 'ice_cream': '🍨',
\ 'ice_cube': '🧊',
\ 'ice_hockey': '🏒',
\ 'ice_skate': '⛸️',
\ 'icecream': '🍦',
\ 'id': '🆔',
\ 'ideograph_advantage': '🉐',
\ 'imp': '👿',
\ 'inbox_tray': '📥',
\ 'incoming_envelope': '📨',
\ 'infinity': '♾️',
\ 'information_desk_person': '💁',
\ 'information_source': '',
\ 'innocent': '😇',
\ 'interrobang': '⁉️',
\ 'iphone': '📱',
\ 'izakaya_lantern': '🏮',
\ 'jack_o_lantern': '🎃',
\ 'japan': '🗾',
\ 'japanese_castle': '🏯',
\ 'japanese_goblin': '👺',
\ 'japanese_ogre': '👹',
\ 'jeans': '👖',
\ 'jigsaw': '🧩',
\ 'joy': '😂',
\ 'joy_cat': '😹',
\ 'joystick': '🕹️',
\ 'juggling_person': '🤹',
\ 'kaaba': '🕋',
\ 'kangaroo': '🦘',
\ 'key': '🔑',
\ 'keyboard': '⌨️',
\ 'keycap_ten': '🔟',
\ 'kick_scooter': '🛴',
\ 'kimono': '👘',
\ 'kiss': '💋',
\ 'kissing': '😗',
\ 'kissing_cat': '😽',
\ 'kissing_closed_eyes': '😚',
\ 'kissing_heart': '😘',
\ 'kissing_smiling_eyes': '😙',
\ 'kite': '🪁',
\ 'kiwi_fruit': '🥝',
\ 'kneeling_person': '🧎',
\ 'knot': '🪢',
\ 'koala': '🐨',
\ 'koko': '🈁',
\ 'lab_coat': '🥼',
\ 'label': '🏷️',
\ 'lacrosse': '🥍',
\ 'ladder': '🪜',
\ 'lady_beetle': '🐞',
\ 'large_blue_circle': '🔵',
\ 'large_blue_diamond': '🔷',
\ 'large_orange_diamond': '🔶',
\ 'last_quarter_moon': '🌗',
\ 'last_quarter_moon_with_face': '🌜',
\ 'latin_cross': '✝️',
\ 'laughing': '😆',
\ 'leafy_green': '🥬',
\ 'leaves': '🍃',
\ 'ledger': '📒',
\ 'left_luggage': '🛅',
\ 'left_right_arrow': '↔️',
\ 'left_speech_bubble': '🗨️',
\ 'leftwards_arrow_with_hook': '↩️',
\ 'leg': '🦵',
\ 'lemon': '🍋',
\ 'leo': '♌️',
\ 'leopard': '🐆',
\ 'level_slider': '🎚️',
\ 'libra': '♎️',
\ 'light_rail': '🚈',
\ 'link': '🔗',
\ 'lion': '🦁',
\ 'lips': '👄',
\ 'lipstick': '💄',
\ 'lizard': '🦎',
\ 'llama': '🦙',
\ 'lobster': '🦞',
\ 'lock': '🔒',
\ 'lock_with_ink_pen': '🔏',
\ 'lollipop': '🍭',
\ 'long_drum': '🪘',
\ 'loop': '➿',
\ 'lotion_bottle': '🧴',
\ 'lotus_position': '🧘',
\ 'loud_sound': '🔊',
\ 'loudspeaker': '📢',
\ 'love_hotel': '🏩',
\ 'love_letter': '💌',
\ 'love_you_gesture': '🤟',
\ 'low_brightness': '🔅',
\ 'luggage': '🧳',
\ 'lungs': '🫁',
\ 'lying_face': '🤥',
\ 'm': 'Ⓜ️',
\ 'mag': '🔍',
\ 'mag_right': '🔎',
\ 'mage': '🧙',
\ 'magic_wand': '🪄',
\ 'magnet': '🧲',
\ 'mahjong': '🀄️',
\ 'mailbox': '📫',
\ 'mailbox_closed': '📪',
\ 'mailbox_with_mail': '📬',
\ 'mailbox_with_no_mail': '📭',
\ 'male_detective': '🕵️',
\ 'male_sign': '♂️',
\ 'mammoth': '🦣',
\ 'man': '👨',
\ 'man_dancing': '🕺',
\ 'man_in_tuxedo': '🤵',
\ 'man_with_gua_pi_mao': '👲',
\ 'man_with_turban': '👳',
\ 'mango': '🥭',
\ 'mans_shoe': '👞',
\ 'mantelpiece_clock': '🕰️',
\ 'manual_wheelchair': '🦽',
\ 'maple_leaf': '🍁',
\ 'martial_arts_uniform': '🥋',
\ 'mask': '😷',
\ 'massage': '💆',
\ 'massage_woman': '💆',
\ 'mate': '🧉',
\ 'meat_on_bone': '🍖',
\ 'mechanical_arm': '🦾',
\ 'mechanical_leg': '🦿',
\ 'medal_military': '🎖️',
\ 'medal_sports': '🏅',
\ 'medical_symbol': '⚕️',
\ 'mega': '📣',
\ 'melon': '🍈',
\ 'memo': '📝',
\ 'menorah': '🕎',
\ 'mens': '🚹',
\ 'merperson': '🧜',
\ 'metal': '🤘',
\ 'metro': '🚇',
\ 'microbe': '🦠',
\ 'microphone': '🎤',
\ 'microscope': '🔬',
\ 'middle_finger': '🖕',
\ 'military_helmet': '🪖',
\ 'milk_glass': '🥛',
\ 'milky_way': '🌌',
\ 'minibus': '🚐',
\ 'minidisc': '💽',
\ 'mirror': '🪞',
\ 'mobile_phone_off': '📴',
\ 'money_mouth_face': '🤑',
\ 'money_with_wings': '💸',
\ 'moneybag': '💰',
\ 'monkey': '🐒',
\ 'monkey_face': '🐵',
\ 'monocle_face': '🧐',
\ 'monorail': '🚝',
\ 'moon': '🌔',
\ 'moon_cake': '🥮',
\ 'mortar_board': '🎓',
\ 'mosque': '🕌',
\ 'mosquito': '🦟',
\ 'motor_boat': '🛥️',
\ 'motor_scooter': '🛵',
\ 'motorcycle': '🏍️',
\ 'motorized_wheelchair': '🦼',
\ 'motorway': '🛣️',
\ 'mount_fuji': '🗻',
\ 'mountain': '⛰️',
\ 'mountain_bicyclist': '🚵',
\ 'mountain_biking_man': '🚵',
\ 'mountain_cableway': '🚠',
\ 'mountain_railway': '🚞',
\ 'mountain_snow': '🏔️',
\ 'mouse': '🐭',
\ 'mouse2': '🐁',
\ 'mouse_trap': '🪤',
\ 'movie_camera': '🎥',
\ 'moyai': '🗿',
\ 'mrs_claus': '🤶',
\ 'muscle': '💪',
\ 'mushroom': '🍄',
\ 'musical_keyboard': '🎹',
\ 'musical_note': '🎵',
\ 'musical_score': '🎼',
\ 'mute': '🔇',
\ 'nail_care': '💅',
\ 'name_badge': '📛',
\ 'national_park': '🏞️',
\ 'nauseated_face': '🤢',
\ 'nazar_amulet': '🧿',
\ 'necktie': '👔',
\ 'negative_squared_cross_mark': '❎',
\ 'nerd_face': '🤓',
\ 'nesting_dolls': '🪆',
\ 'neutral_face': '😐',
\ 'new': '🆕',
\ 'new_moon': '🌑',
\ 'new_moon_with_face': '🌚',
\ 'newspaper': '📰',
\ 'newspaper_roll': '🗞️',
\ 'next_track_button': '⏭️',
\ 'ng': '🆖',
\ 'night_with_stars': '🌃',
\ 'nine': '9⃣',
\ 'ninja': '🥷',
\ 'no_bell': '🔕',
\ 'no_bicycles': '🚳',
\ 'no_entry': '⛔️',
\ 'no_entry_sign': '🚫',
\ 'no_good': '🙅',
\ 'no_good_woman': '🙅',
\ 'no_mobile_phones': '📵',
\ 'no_mouth': '😶',
\ 'no_pedestrians': '🚷',
\ 'no_smoking': '🚭',
\ 'non-potable_water': '🚱',
\ 'nose': '👃',
\ 'notebook': '📓',
\ 'notebook_with_decorative_cover': '📔',
\ 'notes': '🎶',
\ 'nut_and_bolt': '🔩',
\ 'o': '⭕️',
\ 'o2': '🅾️',
\ 'ocean': '🌊',
\ 'octopus': '🐙',
\ 'oden': '🍢',
\ 'office': '🏢',
\ 'oil_drum': '🛢️',
\ 'ok': '🆗',
\ 'ok_hand': '👌',
\ 'ok_person': '🙆',
\ 'ok_woman': '🙆',
\ 'old_key': '🗝️',
\ 'older_adult': '🧓',
\ 'older_man': '👴',
\ 'older_woman': '👵',
\ 'olive': '🫒',
\ 'om': '🕉️',
\ 'on': '🔛',
\ 'oncoming_automobile': '🚘',
\ 'oncoming_bus': '🚍',
\ 'oncoming_police_car': '🚔',
\ 'oncoming_taxi': '🚖',
\ 'one': '1⃣',
\ 'one_piece_swimsuit': '🩱',
\ 'onion': '🧅',
\ 'open_file_folder': '📂',
\ 'open_hands': '👐',
\ 'open_mouth': '😮',
\ 'open_umbrella': '☂️',
\ 'ophiuchus': '⛎',
\ 'orange_book': '📙',
\ 'orange_circle': '🟠',
\ 'orange_heart': '🧡',
\ 'orange_square': '🟧',
\ 'orangutan': '🦧',
\ 'orthodox_cross': '☦️',
\ 'otter': '🦦',
\ 'outbox_tray': '📤',
\ 'owl': '🦉',
\ 'ox': '🐂',
\ 'oyster': '🦪',
\ 'package': '📦',
\ 'page_facing_up': '📄',
\ 'page_with_curl': '📃',
\ 'pager': '📟',
\ 'paintbrush': '🖌️',
\ 'palm_tree': '🌴',
\ 'palms_up_together': '🤲',
\ 'pancakes': '🥞',
\ 'panda_face': '🐼',
\ 'paperclip': '📎',
\ 'paperclips': '🖇️',
\ 'parachute': '🪂',
\ 'parasol_on_ground': '⛱️',
\ 'parking': '🅿️',
\ 'parrot': '🦜',
\ 'part_alternation_mark': '〽️',
\ 'partly_sunny': '⛅️',
\ 'partying_face': '🥳',
\ 'passenger_ship': '🛳️',
\ 'passport_control': '🛂',
\ 'pause_button': '⏸️',
\ 'paw_prints': '🐾',
\ 'peace_symbol': '☮️',
\ 'peach': '🍑',
\ 'peacock': '🦚',
\ 'peanuts': '🥜',
\ 'pear': '🍐',
\ 'pen': '🖊️',
\ 'pencil': '📝',
\ 'pencil2': '✏️',
\ 'penguin': '🐧',
\ 'pensive': '😔',
\ 'people_hugging': '🫂',
\ 'performing_arts': '🎭',
\ 'persevere': '😣',
\ 'person_fencing': '🤺',
\ 'person_frowning': '🙍',
\ 'person_in_tuxedo': '🤵',
\ 'person_with_blond_hair': '👱',
\ 'person_with_pouting_face': '🙎',
\ 'person_with_turban': '👳',
\ 'person_with_veil': '👰',
\ 'petri_dish': '🧫',
\ 'phone': '☎️',
\ 'pick': '⛏️',
\ 'pickup_truck': '🛻',
\ 'pie': '🥧',
\ 'pig': '🐷',
\ 'pig2': '🐖',
\ 'pig_nose': '🐽',
\ 'pill': '💊',
\ 'pinata': '🪅',
\ 'pinched_fingers': '🤌',
\ 'pinching_hand': '🤏',
\ 'pineapple': '🍍',
\ 'ping_pong': '🏓',
\ 'pisces': '♓️',
\ 'pizza': '🍕',
\ 'placard': '🪧',
\ 'place_of_worship': '🛐',
\ 'plate_with_cutlery': '🍽️',
\ 'play_or_pause_button': '⏯️',
\ 'pleading_face': '🥺',
\ 'plunger': '🪠',
\ 'point_down': '👇',
\ 'point_left': '👈',
\ 'point_right': '👉',
\ 'point_up': '☝️',
\ 'point_up_2': '👆',
\ 'police_car': '🚓',
\ 'police_officer': '👮',
\ 'policeman': '👮',
\ 'poodle': '🐩',
\ 'poop': '💩',
\ 'popcorn': '🍿',
\ 'post_office': '🏣',
\ 'postal_horn': '📯',
\ 'postbox': '📮',
\ 'potable_water': '🚰',
\ 'potato': '🥔',
\ 'potted_plant': '🪴',
\ 'pouch': '👝',
\ 'poultry_leg': '🍗',
\ 'pound': '💷',
\ 'pouting_cat': '😾',
\ 'pouting_face': '🙎',
\ 'pouting_woman': '🙎',
\ 'pray': '🙏',
\ 'prayer_beads': '📿',
\ 'pregnant_woman': '🤰',
\ 'pretzel': '🥨',
\ 'previous_track_button': '⏮️',
\ 'prince': '🤴',
\ 'princess': '👸',
\ 'printer': '🖨️',
\ 'probing_cane': '🦯',
\ 'punch': '👊',
\ 'purple_circle': '🟣',
\ 'purple_heart': '💜',
\ 'purple_square': '🟪',
\ 'purse': '👛',
\ 'pushpin': '📌',
\ 'put_litter_in_its_place': '🚮',
\ 'question': '❓',
\ 'rabbit': '🐰',
\ 'rabbit2': '🐇',
\ 'raccoon': '🦝',
\ 'racehorse': '🐎',
\ 'racing_car': '🏎️',
\ 'radio': '📻',
\ 'radio_button': '🔘',
\ 'radioactive': '☢️',
\ 'rage': '😡',
\ 'railway_car': '🚃',
\ 'railway_track': '🛤️',
\ 'rainbow': '🌈',
\ 'raised_back_of_hand': '🤚',
\ 'raised_eyebrow': '🤨',
\ 'raised_hand': '✋',
\ 'raised_hand_with_fingers_splayed': '🖐️',
\ 'raised_hands': '🙌',
\ 'raising_hand': '🙋',
\ 'raising_hand_woman': '🙋',
\ 'ram': '🐏',
\ 'ramen': '🍜',
\ 'rat': '🐀',
\ 'razor': '🪒',
\ 'receipt': '🧾',
\ 'record_button': '⏺️',
\ 'recycle': '♻️',
\ 'red_car': '🚗',
\ 'red_circle': '🔴',
\ 'red_envelope': '🧧',
\ 'red_square': '🟥',
\ 'registered': '®️',
\ 'relaxed': '☺️',
\ 'relieved': '😌',
\ 'reminder_ribbon': '🎗️',
\ 'repeat': '🔁',
\ 'repeat_one': '🔂',
\ 'rescue_worker_helmet': '⛑️',
\ 'restroom': '🚻',
\ 'revolving_hearts': '💞',
\ 'rewind': '⏪',
\ 'rhinoceros': '🦏',
\ 'ribbon': '🎀',
\ 'rice': '🍚',
\ 'rice_ball': '🍙',
\ 'rice_cracker': '🍘',
\ 'rice_scene': '🎑',
\ 'right_anger_bubble': '🗯️',
\ 'ring': '💍',
\ 'ringed_planet': '🪐',
\ 'robot': '🤖',
\ 'rock': '🪨',
\ 'rocket': '🚀',
\ 'rofl': '🤣',
\ 'roll_eyes': '🙄',
\ 'roll_of_paper': '🧻',
\ 'roller_coaster': '🎢',
\ 'roller_skate': '🛼',
\ 'rooster': '🐓',
\ 'rose': '🌹',
\ 'rosette': '🏵️',
\ 'rotating_light': '🚨',
\ 'round_pushpin': '📍',
\ 'rowboat': '🚣',
\ 'rowing_man': '🚣',
\ 'rugby_football': '🏉',
\ 'runner': '🏃',
\ 'running': '🏃',
\ 'running_man': '🏃',
\ 'running_shirt_with_sash': '🎽',
\ 'sa': '🈂️',
\ 'safety_pin': '🧷',
\ 'safety_vest': '🦺',
\ 'sagittarius': '♐️',
\ 'sailboat': '⛵️',
\ 'sake': '🍶',
\ 'salt': '🧂',
\ 'sandal': '👡',
\ 'sandwich': '🥪',
\ 'santa': '🎅',
\ 'sari': '🥻',
\ 'satellite': '📡',
\ 'satisfied': '😆',
\ 'sauna_person': '🧖',
\ 'sauropod': '🦕',
\ 'saxophone': '🎷',
\ 'scarf': '🧣',
\ 'school': '🏫',
\ 'school_satchel': '🎒',
\ 'scissors': '✂️',
\ 'scorpion': '🦂',
\ 'scorpius': '♏️',
\ 'scream': '😱',
\ 'scream_cat': '🙀',
\ 'screwdriver': '🪛',
\ 'scroll': '📜',
\ 'seal': '🦭',
\ 'seat': '💺',
\ 'secret': '㊙️',
\ 'see_no_evil': '🙈',
\ 'seedling': '🌱',
\ 'selfie': '🤳',
\ 'seven': '7⃣',
\ 'sewing_needle': '🪡',
\ 'shallow_pan_of_food': '🥘',
\ 'shamrock': '☘️',
\ 'shark': '🦈',
\ 'shaved_ice': '🍧',
\ 'sheep': '🐑',
\ 'shell': '🐚',
\ 'shield': '🛡️',
\ 'shinto_shrine': '⛩️',
\ 'ship': '🚢',
\ 'shirt': '👕',
\ 'shit': '💩',
\ 'shoe': '👞',
\ 'shopping': '🛍️',
\ 'shopping_cart': '🛒',
\ 'shorts': '🩳',
\ 'shower': '🚿',
\ 'shrimp': '🦐',
\ 'shrug': '🤷',
\ 'shushing_face': '🤫',
\ 'signal_strength': '📶',
\ 'six': '6⃣',
\ 'six_pointed_star': '🔯',
\ 'skateboard': '🛹',
\ 'ski': '🎿',
\ 'skier': '⛷️',
\ 'skull': '💀',
\ 'skull_and_crossbones': '☠️',
\ 'skunk': '🦨',
\ 'sled': '🛷',
\ 'sleeping': '😴',
\ 'sleeping_bed': '🛌',
\ 'sleepy': '😪',
\ 'slightly_frowning_face': '🙁',
\ 'slightly_smiling_face': '🙂',
\ 'slot_machine': '🎰',
\ 'sloth': '🦥',
\ 'small_airplane': '🛩️',
\ 'small_blue_diamond': '🔹',
\ 'small_orange_diamond': '🔸',
\ 'small_red_triangle': '🔺',
\ 'small_red_triangle_down': '🔻',
\ 'smile': '😄',
\ 'smile_cat': '😸',
\ 'smiley': '😃',
\ 'smiley_cat': '😺',
\ 'smiling_face_with_tear': '🥲',
\ 'smiling_face_with_three_hearts': '🥰',
\ 'smiling_imp': '😈',
\ 'smirk': '😏',
\ 'smirk_cat': '😼',
\ 'smoking': '🚬',
\ 'snail': '🐌',
\ 'snake': '🐍',
\ 'sneezing_face': '🤧',
\ 'snowboarder': '🏂',
\ 'snowflake': '❄️',
\ 'snowman': '⛄️',
\ 'snowman_with_snow': '☃️',
\ 'soap': '🧼',
\ 'sob': '😭',
\ 'soccer': '⚽️',
\ 'socks': '🧦',
\ 'softball': '🥎',
\ 'soon': '🔜',
\ 'sos': '🆘',
\ 'sound': '🔉',
\ 'space_invader': '👾',
\ 'spades': '♠️',
\ 'spaghetti': '🍝',
\ 'sparkle': '❇️',
\ 'sparkler': '🎇',
\ 'sparkles': '✨',
\ 'sparkling_heart': '💖',
\ 'speak_no_evil': '🙊',
\ 'speaker': '🔈',
\ 'speaking_head': '🗣️',
\ 'speech_balloon': '💬',
\ 'speedboat': '🚤',
\ 'spider': '🕷️',
\ 'spider_web': '🕸️',
\ 'spiral_calendar': '🗓️',
\ 'spiral_notepad': '🗒️',
\ 'sponge': '🧽',
\ 'spoon': '🥄',
\ 'squid': '🦑',
\ 'stadium': '🏟️',
\ 'standing_person': '🧍',
\ 'star': '⭐️',
\ 'star2': '🌟',
\ 'star_and_crescent': '☪️',
\ 'star_of_david': '✡️',
\ 'star_struck': '🤩',
\ 'stars': '🌠',
\ 'station': '🚉',
\ 'statue_of_liberty': '🗽',
\ 'steam_locomotive': '🚂',
\ 'stethoscope': '🩺',
\ 'stew': '🍲',
\ 'stop_button': '⏹️',
\ 'stop_sign': '🛑',
\ 'stopwatch': '⏱️',
\ 'straight_ruler': '📏',
\ 'strawberry': '🍓',
\ 'stuck_out_tongue': '😛',
\ 'stuck_out_tongue_closed_eyes': '😝',
\ 'stuck_out_tongue_winking_eye': '😜',
\ 'studio_microphone': '🎙️',
\ 'stuffed_flatbread': '🥙',
\ 'sun_behind_large_cloud': '🌥️',
\ 'sun_behind_rain_cloud': '🌦️',
\ 'sun_behind_small_cloud': '🌤️',
\ 'sun_with_face': '🌞',
\ 'sunflower': '🌻',
\ 'sunglasses': '😎',
\ 'sunny': '☀️',
\ 'sunrise': '🌅',
\ 'sunrise_over_mountains': '🌄',
\ 'superhero': '🦸',
\ 'supervillain': '🦹',
\ 'surfer': '🏄',
\ 'surfing_man': '🏄',
\ 'sushi': '🍣',
\ 'suspension_railway': '🚟',
\ 'swan': '🦢',
\ 'sweat': '😓',
\ 'sweat_drops': '💦',
\ 'sweat_smile': '😅',
\ 'sweet_potato': '🍠',
\ 'swim_brief': '🩲',
\ 'swimmer': '🏊',
\ 'swimming_man': '🏊',
\ 'symbols': '🔣',
\ 'synagogue': '🕍',
\ 'syringe': '💉',
\ 't-rex': '🦖',
\ 'taco': '🌮',
\ 'tada': '🎉',
\ 'takeout_box': '🥡',
\ 'tamale': '🫔',
\ 'tanabata_tree': '🎋',
\ 'tangerine': '🍊',
\ 'taurus': '♉️',
\ 'taxi': '🚕',
\ 'tea': '🍵',
\ 'teapot': '🫖',
\ 'teddy_bear': '🧸',
\ 'telephone': '☎️',
\ 'telephone_receiver': '📞',
\ 'telescope': '🔭',
\ 'tennis': '🎾',
\ 'tent': '⛺️',
\ 'test_tube': '🧪',
\ 'thermometer': '🌡️',
\ 'thinking': '🤔',
\ 'thong_sandal': '🩴',
\ 'thought_balloon': '💭',
\ 'thread': '🧵',
\ 'three': '3⃣',
\ 'thumbsdown': '👎',
\ 'thumbsup': '👍',
\ 'ticket': '🎫',
\ 'tickets': '🎟️',
\ 'tiger': '🐯',
\ 'tiger2': '🐅',
\ 'timer_clock': '⏲️',
\ 'tipping_hand_person': '💁',
\ 'tipping_hand_woman': '💁',
\ 'tired_face': '😫',
\ 'tm': '™️',
\ 'toilet': '🚽',
\ 'tokyo_tower': '🗼',
\ 'tomato': '🍅',
\ 'tongue': '👅',
\ 'toolbox': '🧰',
\ 'tooth': '🦷',
\ 'toothbrush': '🪥',
\ 'top': '🔝',
\ 'tophat': '🎩',
\ 'tornado': '🌪️',
\ 'trackball': '🖲️',
\ 'tractor': '🚜',
\ 'traffic_light': '🚥',
\ 'train': '🚋',
\ 'train2': '🚆',
\ 'tram': '🚊',
\ 'transgender_symbol': '⚧️',
\ 'triangular_flag_on_post': '🚩',
\ 'triangular_ruler': '📐',
\ 'trident': '🔱',
\ 'triumph': '😤',
\ 'trolleybus': '🚎',
\ 'trophy': '🏆',
\ 'tropical_drink': '🍹',
\ 'tropical_fish': '🐠',
\ 'truck': '🚚',
\ 'trumpet': '🎺',
\ 'tshirt': '👕',
\ 'tulip': '🌷',
\ 'tumbler_glass': '🥃',
\ 'turkey': '🦃',
\ 'turtle': '🐢',
\ 'tv': '📺',
\ 'twisted_rightwards_arrows': '🔀',
\ 'two': '2⃣',
\ 'two_hearts': '💕',
\ 'two_men_holding_hands': '👬',
\ 'two_women_holding_hands': '👭',
\ 'u5272': '🈹',
\ 'u5408': '🈴',
\ 'u55b6': '🈺',
\ 'u6307': '🈯️',
\ 'u6708': '🈷️',
\ 'u6709': '🈶',
\ 'u6e80': '🈵',
\ 'u7121': '🈚️',
\ 'u7533': '🈸',
\ 'u7981': '🈲',
\ 'u7a7a': '🈳',
\ 'umbrella': '☔️',
\ 'unamused': '😒',
\ 'underage': '🔞',
\ 'unicorn': '🦄',
\ 'unlock': '🔓',
\ 'up': '🆙',
\ 'upside_down_face': '🙃',
\ 'v': '✌️',
\ 'vampire': '🧛',
\ 'vertical_traffic_light': '🚦',
\ 'vhs': '📼',
\ 'vibration_mode': '📳',
\ 'video_camera': '📹',
\ 'video_game': '🎮',
\ 'violin': '🎻',
\ 'virgo': '♍️',
\ 'volcano': '🌋',
\ 'volleyball': '🏐',
\ 'vomiting_face': '🤮',
\ 'vs': '🆚',
\ 'vulcan_salute': '🖖',
\ 'waffle': '🧇',
\ 'walking': '🚶',
\ 'walking_man': '🚶',
\ 'waning_crescent_moon': '🌘',
\ 'waning_gibbous_moon': '🌖',
\ 'warning': '⚠️',
\ 'wastebasket': '🗑️',
\ 'watch': '⌚️',
\ 'water_buffalo': '🐃',
\ 'water_polo': '🤽',
\ 'watermelon': '🍉',
\ 'wave': '👋',
\ 'wavy_dash': '〰️',
\ 'waxing_crescent_moon': '🌒',
\ 'waxing_gibbous_moon': '🌔',
\ 'wc': '🚾',
\ 'weary': '😩',
\ 'wedding': '💒',
\ 'weight_lifting': '🏋️',
\ 'weight_lifting_man': '🏋️',
\ 'whale': '🐳',
\ 'whale2': '🐋',
\ 'wheel_of_dharma': '☸️',
\ 'wheelchair': '♿️',
\ 'white_check_mark': '✅',
\ 'white_circle': '⚪️',
\ 'white_flag': '🏳️',
\ 'white_flower': '💮',
\ 'white_heart': '🤍',
\ 'white_large_square': '⬜️',
\ 'white_medium_small_square': '◽️',
\ 'white_medium_square': '◻️',
\ 'white_small_square': '▫️',
\ 'white_square_button': '🔳',
\ 'wilted_flower': '🥀',
\ 'wind_chime': '🎐',
\ 'wind_face': '🌬️',
\ 'window': '🪟',
\ 'wine_glass': '🍷',
\ 'wink': '😉',
\ 'wolf': '🐺',
\ 'woman': '👩',
\ 'woman_dancing': '💃',
\ 'woman_with_headscarf': '🧕',
\ 'womans_clothes': '👚',
\ 'womans_hat': '👒',
\ 'womens': '🚺',
\ 'wood': '🪵',
\ 'woozy_face': '🥴',
\ 'world_map': '🗺️',
\ 'worm': '🪱',
\ 'worried': '😟',
\ 'wrench': '🔧',
\ 'wrestling': '🤼',
\ 'writing_hand': '✍️',
\ 'x': '❌',
\ 'yarn': '🧶',
\ 'yawning_face': '🥱',
\ 'yellow_circle': '🟡',
\ 'yellow_heart': '💛',
\ 'yellow_square': '🟨',
\ 'yen': '💴',
\ 'yin_yang': '☯️',
\ 'yo_yo': '🪀',
\ 'yum': '😋',
\ 'zany_face': '🤪',
\ 'zap': '⚡️',
\ 'zebra': '🦓',
\ 'zero': '0⃣',
\ 'zipper_mouth_face': '🤐',
\ 'zombie': '🧟',
\ 'zzz': '💤',
\ }
let s:emoji_multiple = {
\ 'basketball_woman': '⛹️‍♀️',
\ 'biking_woman': '🚴‍♀️',
\ 'blonde_woman': '👱‍♀️',
\ 'bowing_woman': '🙇‍♀️',
\ 'construction_worker_woman': '👷‍♀️',
\ 'couple_with_heart_man_man': '👨‍❤️‍👨',
\ 'couple_with_heart_woman_woman': '👩‍❤️‍👩',
\ 'couplekiss_man_man': '👨‍❤️‍💋‍👨',
\ 'couplekiss_woman_woman': '👩‍❤️‍💋‍👩',
\ 'dancing_men': '👯‍♂️',
\ 'eye_speech_bubble': '👁‍🗨',
\ 'family_man_boy': '👨‍👦',
\ 'family_man_boy_boy': '👨‍👦‍👦',
\ 'family_man_girl': '👨‍👧',
\ 'family_man_girl_boy': '👨‍👧‍👦',
\ 'family_man_girl_girl': '👨‍👧‍👧',
\ 'family_man_man_boy': '👨‍👨‍👦',
\ 'family_man_man_boy_boy': '👨‍👨‍👦‍👦',
\ 'family_man_man_girl': '👨‍👨‍👧',
\ 'family_man_man_girl_boy': '👨‍👨‍👧‍👦',
\ 'family_man_man_girl_girl': '👨‍👨‍👧‍👧',
\ 'family_man_woman_boy_boy': '👨‍👩‍👦‍👦',
\ 'family_man_woman_girl': '👨‍👩‍👧',
\ 'family_man_woman_girl_boy': '👨‍👩‍👧‍👦',
\ 'family_man_woman_girl_girl': '👨‍👩‍👧‍👧',
\ 'family_woman_boy': '👩‍👦',
\ 'family_woman_boy_boy': '👩‍👦‍👦',
\ 'family_woman_girl': '👩‍👧',
\ 'family_woman_girl_boy': '👩‍👧‍👦',
\ 'family_woman_girl_girl': '👩‍👧‍👧',
\ 'family_woman_woman_boy': '👩‍👩‍👦',
\ 'family_woman_woman_boy_boy': '👩‍👩‍👦‍👦',
\ 'family_woman_woman_girl': '👩‍👩‍👧',
\ 'family_woman_woman_girl_boy': '👩‍👩‍👧‍👦',
\ 'family_woman_woman_girl_girl': '👩‍👩‍👧‍👧',
\ 'female_detective': '🕵️‍♀️',
\ 'frowning_man': '🙍‍♂️',
\ 'golfing_woman': '🏌️‍♀️',
\ 'guardswoman': '💂‍♀️',
\ 'haircut_man': '💇‍♂️',
\ 'man_artist': '👨‍🎨',
\ 'man_astronaut': '👨‍🚀',
\ 'man_cartwheeling': '🤸‍♂️',
\ 'man_cook': '👨‍🍳',
\ 'man_facepalming': '🤦‍♂️',
\ 'man_factory_worker': '👨‍🏭',
\ 'man_farmer': '👨‍🌾',
\ 'man_firefighter': '👨‍🚒',
\ 'man_health_worker': '👨‍⚕️',
\ 'man_judge': '👨‍⚖️',
\ 'man_juggling': '🤹‍♂️',
\ 'man_mechanic': '👨‍🔧',
\ 'man_office_worker': '👨‍💼',
\ 'man_pilot': '👨‍✈️',
\ 'man_playing_handball': '🤾‍♂️',
\ 'man_playing_water_polo': '🤽‍♂️',
\ 'man_scientist': '👨‍🔬',
\ 'man_shrugging': '🤷‍♂️',
\ 'man_singer': '👨‍🎤',
\ 'man_student': '👨‍🎓',
\ 'man_teacher': '👨‍🏫',
\ 'man_technologist': '👨‍💻',
\ 'massage_man': '💆‍♂️',
\ 'men_wrestling': '🤼‍♂️',
\ 'mountain_biking_woman': '🚵‍♀️',
\ 'no_good_man': '🙅‍♂️',
\ 'ok_man': '🙆‍♂️',
\ 'policewoman': '👮‍♀️',
\ 'pouting_man': '🙎‍♂️',
\ 'rainbow_flag': '🏳️‍🌈',
\ 'raising_hand_man': '🙋‍♂️',
\ 'rowing_woman': '🚣‍♀️',
\ 'running_woman': '🏃‍♀️',
\ 'surfing_woman': '🏄‍♀️',
\ 'swimming_woman': '🏊‍♀️',
\ 'tipping_hand_man': '💁‍♂️',
\ 'walking_woman': '🚶‍♀️',
\ 'weight_lifting_woman': '🏋️‍♀️',
\ 'woman_artist': '👩‍🎨',
\ 'woman_astronaut': '👩‍🚀',
\ 'woman_cartwheeling': '🤸‍♀️',
\ 'woman_cook': '👩‍🍳',
\ 'woman_facepalming': '🤦‍♀️',
\ 'woman_factory_worker': '👩‍🏭',
\ 'woman_farmer': '👩‍🌾',
\ 'woman_firefighter': '👩‍🚒',
\ 'woman_health_worker': '👩‍⚕️',
\ 'woman_judge': '👩‍⚖️',
\ 'woman_juggling': '🤹‍♀️',
\ 'woman_mechanic': '👩‍🔧',
\ 'woman_office_worker': '👩‍💼',
\ 'woman_pilot': '👩‍✈️',
\ 'woman_playing_handball': '🤾‍♀️',
\ 'woman_playing_water_polo': '🤽‍♀️',
\ 'woman_scientist': '👩‍🔬',
\ 'woman_shrugging': '🤷‍♀️',
\ 'woman_singer': '👩‍🎤',
\ 'woman_student': '👩‍🎓',
\ 'woman_teacher': '👩‍🏫',
\ 'woman_technologist': '👩‍💻',
\ 'woman_with_turban': '👳‍♀️',
\ 'women_wrestling': '🤼‍♀️',
\ 'aland_islands': '🇦🇽',
\ 'albania': '🇦🇱',
\ 'algeria': '🇩🇿',
\ 'american_samoa': '🇦🇸',
\ 'andorra': '🇦🇩',
\ 'angola': '🇦🇴',
\ 'anguilla': '🇦🇮',
\ 'antarctica': '🇦🇶',
\ 'antigua_barbuda': '🇦🇬',
\ 'argentina': '🇦🇷',
\ 'armenia': '🇦🇲',
\ 'aruba': '🇦🇼',
\ 'australia': '🇦🇺',
\ 'austria': '🇦🇹',
\ 'azerbaijan': '🇦🇿',
\ 'bahamas': '🇧🇸',
\ 'bahrain': '🇧🇭',
\ 'bangladesh': '🇧🇩',
\ 'barbados': '🇧🇧',
\ 'belarus': '🇧🇾',
\ 'belgium': '🇧🇪',
\ 'belize': '🇧🇿',
\ 'benin': '🇧🇯',
\ 'bermuda': '🇧🇲',
\ 'bhutan': '🇧🇹',
\ 'bolivia': '🇧🇴',
\ 'bosnia_herzegovina': '🇧🇦',
\ 'botswana': '🇧🇼',
\ 'brazil': '🇧🇷',
\ 'british_indian_ocean_territory': '🇮🇴',
\ 'british_virgin_islands': '🇻🇬',
\ 'brunei': '🇧🇳',
\ 'bulgaria': '🇧🇬',
\ 'burkina_faso': '🇧🇫',
\ 'burundi': '🇧🇮',
\ 'cambodia': '🇰🇭',
\ 'cameroon': '🇨🇲',
\ 'canada': '🇨🇦',
\ 'canary_islands': '🇮🇨',
\ 'cape_verde': '🇨🇻',
\ 'caribbean_netherlands': '🇧🇶',
\ 'cayman_islands': '🇰🇾',
\ 'central_african_republic': '🇨🇫',
\ 'chad': '🇹🇩',
\ 'chile': '🇨🇱',
\ 'christmas_island': '🇨🇽',
\ 'cn': '🇨🇳',
\ 'cocos_islands': '🇨🇨',
\ 'colombia': '🇨🇴',
\ 'comoros': '🇰🇲',
\ 'congo_brazzaville': '🇨🇬',
\ 'congo_kinshasa': '🇨🇩',
\ 'cook_islands': '🇨🇰',
\ 'costa_rica': '🇨🇷',
\ 'cote_divoire': '🇨🇮',
\ 'croatia': '🇭🇷',
\ 'cuba': '🇨🇺',
\ 'curacao': '🇨🇼',
\ 'cyprus': '🇨🇾',
\ 'czech_republic': '🇨🇿',
\ 'de': '🇩🇪',
\ 'denmark': '🇩🇰',
\ 'djibouti': '🇩🇯',
\ 'dominica': '🇩🇲',
\ 'dominican_republic': '🇩🇴',
\ 'ecuador': '🇪🇨',
\ 'egypt': '🇪🇬',
\ 'el_salvador': '🇸🇻',
\ 'equatorial_guinea': '🇬🇶',
\ 'eritrea': '🇪🇷',
\ 'es': '🇪🇸',
\ 'estonia': '🇪🇪',
\ 'ethiopia': '🇪🇹',
\ 'eu': '🇪🇺',
\ 'falkland_islands': '🇫🇰',
\ 'faroe_islands': '🇫🇴',
\ 'fiji': '🇫🇯',
\ 'finland': '🇫🇮',
\ 'fr': '🇫🇷',
\ 'french_guiana': '🇬🇫',
\ 'french_polynesia': '🇵🇫',
\ 'french_southern_territories': '🇹🇫',
\ 'gabon': '🇬🇦',
\ 'gambia': '🇬🇲',
\ 'gb': '🇬🇧',
\ 'georgia': '🇬🇪',
\ 'ghana': '🇬🇭',
\ 'gibraltar': '🇬🇮',
\ 'greece': '🇬🇷',
\ 'greenland': '🇬🇱',
\ 'grenada': '🇬🇩',
\ 'guadeloupe': '🇬🇵',
\ 'guam': '🇬🇺',
\ 'guatemala': '🇬🇹',
\ 'guernsey': '🇬🇬',
\ 'guinea': '🇬🇳',
\ 'guinea_bissau': '🇬🇼',
\ 'guyana': '🇬🇾',
\ 'haiti': '🇭🇹',
\ 'honduras': '🇭🇳',
\ 'hong_kong': '🇭🇰',
\ 'hungary': '🇭🇺',
\ 'iceland': '🇮🇸',
\ 'india': '🇮🇳',
\ 'indonesia': '🇮🇩',
\ 'iran': '🇮🇷',
\ 'iraq': '🇮🇶',
\ 'ireland': '🇮🇪',
\ 'isle_of_man': '🇮🇲',
\ 'israel': '🇮🇱',
\ 'it': '🇮🇹',
\ 'jamaica': '🇯🇲',
\ 'jersey': '🇯🇪',
\ 'jordan': '🇯🇴',
\ 'jp': '🇯🇵',
\ 'kazakhstan': '🇰🇿',
\ 'kenya': '🇰🇪',
\ 'kiribati': '🇰🇮',
\ 'kosovo': '🇽🇰',
\ 'kr': '🇰🇷',
\ 'kuwait': '🇰🇼',
\ 'kyrgyzstan': '🇰🇬',
\ 'laos': '🇱🇦',
\ 'latvia': '🇱🇻',
\ 'lebanon': '🇱🇧',
\ 'lesotho': '🇱🇸',
\ 'liberia': '🇱🇷',
\ 'libya': '🇱🇾',
\ 'liechtenstein': '🇱🇮',
\ 'lithuania': '🇱🇹',
\ 'luxembourg': '🇱🇺',
\ 'macau': '🇲🇴',
\ 'macedonia': '🇲🇰',
\ 'madagascar': '🇲🇬',
\ 'malawi': '🇲🇼',
\ 'malaysia': '🇲🇾',
\ 'maldives': '🇲🇻',
\ 'mali': '🇲🇱',
\ 'malta': '🇲🇹',
\ 'marshall_islands': '🇲🇭',
\ 'martinique': '🇲🇶',
\ 'mauritania': '🇲🇷',
\ 'mauritius': '🇲🇺',
\ 'mayotte': '🇾🇹',
\ 'mexico': '🇲🇽',
\ 'micronesia': '🇫🇲',
\ 'moldova': '🇲🇩',
\ 'monaco': '🇲🇨',
\ 'mongolia': '🇲🇳',
\ 'montenegro': '🇲🇪',
\ 'montserrat': '🇲🇸',
\ 'morocco': '🇲🇦',
\ 'mozambique': '🇲🇿',
\ 'myanmar': '🇲🇲',
\ 'namibia': '🇳🇦',
\ 'nauru': '🇳🇷',
\ 'nepal': '🇳🇵',
\ 'netherlands': '🇳🇱',
\ 'new_caledonia': '🇳🇨',
\ 'new_zealand': '🇳🇿',
\ 'nicaragua': '🇳🇮',
\ 'niger': '🇳🇪',
\ 'nigeria': '🇳🇬',
\ 'niue': '🇳🇺',
\ 'norfolk_island': '🇳🇫',
\ 'north_korea': '🇰🇵',
\ 'northern_mariana_islands': '🇲🇵',
\ 'norway': '🇳🇴',
\ 'oman': '🇴🇲',
\ 'pakistan': '🇵🇰',
\ 'palau': '🇵🇼',
\ 'palestinian_territories': '🇵🇸',
\ 'panama': '🇵🇦',
\ 'papua_new_guinea': '🇵🇬',
\ 'paraguay': '🇵🇾',
\ 'peru': '🇵🇪',
\ 'philippines': '🇵🇭',
\ 'pitcairn_islands': '🇵🇳',
\ 'poland': '🇵🇱',
\ 'portugal': '🇵🇹',
\ 'puerto_rico': '🇵🇷',
\ 'qatar': '🇶🇦',
\ 'reunion': '🇷🇪',
\ 'romania': '🇷🇴',
\ 'ru': '🇷🇺',
\ 'rwanda': '🇷🇼',
\ 'samoa': '🇼🇸',
\ 'san_marino': '🇸🇲',
\ 'sao_tome_principe': '🇸🇹',
\ 'saudi_arabia': '🇸🇦',
\ 'senegal': '🇸🇳',
\ 'serbia': '🇷🇸',
\ 'seychelles': '🇸🇨',
\ 'sierra_leone': '🇸🇱',
\ 'singapore': '🇸🇬',
\ 'sint_maarten': '🇸🇽',
\ 'slovakia': '🇸🇰',
\ 'slovenia': '🇸🇮',
\ 'solomon_islands': '🇸🇧',
\ 'somalia': '🇸🇴',
\ 'south_africa': '🇿🇦',
\ 'south_georgia_south_sandwich_islands': '🇬🇸',
\ 'south_sudan': '🇸🇸',
\ 'sri_lanka': '🇱🇰',
\ 'st_barthelemy': '🇧🇱',
\ 'st_helena': '🇸🇭',
\ 'st_kitts_nevis': '🇰🇳',
\ 'st_lucia': '🇱🇨',
\ 'st_pierre_miquelon': '🇵🇲',
\ 'st_vincent_grenadines': '🇻🇨',
\ 'sudan': '🇸🇩',
\ 'suriname': '🇸🇷',
\ 'swaziland': '🇸🇿',
\ 'sweden': '🇸🇪',
\ 'switzerland': '🇨🇭',
\ 'syria': '🇸🇾',
\ 'taiwan': '🇹🇼',
\ 'tajikistan': '🇹🇯',
\ 'tanzania': '🇹🇿',
\ 'thailand': '🇹🇭',
\ 'timor_leste': '🇹🇱',
\ 'togo': '🇹🇬',
\ 'tokelau': '🇹🇰',
\ 'tonga': '🇹🇴',
\ 'tr': '🇹🇷',
\ 'trinidad_tobago': '🇹🇹',
\ 'tunisia': '🇹🇳',
\ 'turkmenistan': '🇹🇲',
\ 'turks_caicos_islands': '🇹🇨',
\ 'tuvalu': '🇹🇻',
\ 'uganda': '🇺🇬',
\ 'ukraine': '🇺🇦',
\ 'united_arab_emirates': '🇦🇪',
\ 'uruguay': '🇺🇾',
\ 'us': '🇺🇸',
\ 'us_virgin_islands': '🇻🇮',
\ 'uzbekistan': '🇺🇿',
\ 'vanuatu': '🇻🇺',
\ 'vatican_city': '🇻🇦',
\ 'venezuela': '🇻🇪',
\ 'vietnam': '🇻🇳',
\ 'wallis_futuna': '🇼🇫',
\ 'western_sahara': '🇪🇭',
\ 'yemen': '🇾🇪',
\ 'zambia': '🇿🇲',
\ 'zimbabwe': '🇿🇼',
\ }
let s:emojis = []
let s:emoji_dic = {}
function! vimwiki#emoji#get_dic() abort
if s:emoji_dic == {}
call extend(s:emoji_dic, s:emoji_multiple)
call extend(s:emoji_dic, s:emoji_single)
endif
return s:emoji_dic
endfunction
" Conceal
function! vimwiki#emoji#apply_conceal() abort
for [name, emoji] in items(s:emoji_single)
exe 'syn keyword VimwikiEmoji :' . name . ': conceal cchar=' . emoji
endfor
endfunction
" Junegunn fuzzy hack
let s:max_score = 1000
function! s:score(haystack, needle) abort
let idx = stridx(a:haystack, a:needle)
if idx < 0 | return idx | endif
if idx == 0 | return s:max_score * 2 | endif
let bonus = (a:haystack[idx - 1] =~? '[^0-9a-zA-Z]') * s:max_score
return bonus + s:max_score - idx
endfunction
" Complete
function! vimwiki#emoji#complete(findstart, base) abort
" Init full list if must
if s:emojis == []
let s:emojis = map(sort(keys(vimwiki#emoji#get_dic())),
\ '{ "word": ":".v:val.":", "kind": get(s:emoji_dic, v:val, "") }')
endif
if a:findstart
return match(getline('.')[0:col('.') - 1], ':[^: \t]*$')
elseif empty(a:base)
return s:emojis
else
augroup emoji_complete_redraw
autocmd!
autocmd CursorMoved,CursorMovedI,InsertLeave * redraw!
\| augroup emoji_complete_redraw
\| execute 'autocmd!'
\| augroup END
\| augroup! emoji_complete_redraw
augroup END
" Select [score, emoji_obj]
let matches = filter(
\ map(
\ s:emojis,
\ '[s:score(v:val.word, a:base[1:]), v:val]'),
\ 'v:val[0] >= 0')
" Sort result
function! EmojiSort(t1, t2) abort
if a:t1[0] == a:t2[0]
return a:t1[1].word <= a:t2[1].word ? -1 : 1
endif
return a:t1[0] >= a:t2[0] ? -1 : 1
endfunction
let matches = sort(matches, 'EmojiSort')
delfunction EmojiSort
" Return selected objs
return map(matches, 'v:val[1]')
endif
endfunction