You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2229 lines
138 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
THIS IS A GENERATED/BUNDLED FILE BY ROLLUP
if you want to view the source visit the plugins github repository
*/
'use strict';
var obsidian = require('obsidian');
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
// Generated from: https://api.github.com/emojis
const emoji = {
":100:": "💯",
":1234:": "🔢",
":+1:": "👍",
":-1:": "👎",
":1st_place_medal:": "🥇",
":2nd_place_medal:": "🥈",
":3rd_place_medal:": "🥉",
":8ball:": "🎱",
":a:": "🅰",
":ab:": "🆎",
":abacus:": "🧮",
":abc:": "🔤",
":abcd:": "🔡",
":accept:": "🉑",
":accordion:": "🪗",
":adhesive_bandage:": "🩹",
":adult:": "🧑",
":aerial_tramway:": "🚡",
":afghanistan:": "🇦‍🇫",
":airplane:": "✈",
":aland_islands:": "🇦‍🇽",
":alarm_clock:": "⏰",
":albania:": "🇦‍🇱",
":alembic:": "⚗",
":algeria:": "🇩‍🇿",
":alien:": "👽",
":ambulance:": "🚑",
":american_samoa:": "🇦‍🇸",
":amphora:": "🏺",
":anatomical_heart:": "🫀",
":anchor:": "⚓",
":andorra:": "🇦‍🇩",
":angel:": "👼",
":anger:": "💢",
":angola:": "🇦‍🇴",
":angry:": "😠",
":anguilla:": "🇦‍🇮",
":anguished:": "😧",
":ant:": "🐜",
":antarctica:": "🇦‍🇶",
":antigua_barbuda:": "🇦‍🇬",
":apple:": "🍎",
":aquarius:": "♒",
":argentina:": "🇦‍🇷",
":aries:": "♈",
":armenia:": "🇦‍🇲",
":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:": "🛰",
":artist:": "🧑‍🎨",
":aruba:": "🇦‍🇼",
":ascension_island:": "🇦‍🇨",
":asterisk:": "*‍⃣",
":astonished:": "😲",
":astronaut:": "🧑‍🚀",
":athletic_shoe:": "👟",
":atm:": "🏧",
":atom_symbol:": "⚛",
":australia:": "🇦‍🇺",
":austria:": "🇦‍🇹",
":auto_rickshaw:": "🛺",
":avocado:": "🥑",
":axe:": "🪓",
":azerbaijan:": "🇦‍🇿",
":b:": "🅱",
":baby:": "👶",
":baby_bottle:": "🍼",
":baby_chick:": "🐤",
":baby_symbol:": "🚼",
":back:": "🔙",
":bacon:": "🥓",
":badger:": "🦡",
":badminton:": "🏸",
":bagel:": "🥯",
":baggage_claim:": "🛄",
":baguette_bread:": "🥖",
":bahamas:": "🇧‍🇸",
":bahrain:": "🇧‍🇭",
":balance_scale:": "⚖",
":bald_man:": "👨‍🦲",
":bald_woman:": "👩‍🦲",
":ballet_shoes:": "🩰",
":balloon:": "🎈",
":ballot_box:": "🗳",
":ballot_box_with_check:": "☑",
":bamboo:": "🎍",
":banana:": "🍌",
":bangbang:": "‼",
":bangladesh:": "🇧‍🇩",
":banjo:": "🪕",
":bank:": "🏦",
":bar_chart:": "📊",
":barbados:": "🇧‍🇧",
":barber:": "💈",
":baseball:": "⚾",
":basket:": "🧺",
":basketball:": "🏀",
":basketball_man:": "⛹‍♂",
":basketball_woman:": "⛹‍♀",
":bat:": "🦇",
":bath:": "🛀",
":bathtub:": "🛁",
":battery:": "🔋",
":beach_umbrella:": "🏖",
":bear:": "🐻",
":bearded_person:": "🧔",
":beaver:": "🦫",
":bed:": "🛏",
":bee:": "🐝",
":beer:": "🍺",
":beers:": "🍻",
":beetle:": "🪲",
":beginner:": "🔰",
":belarus:": "🇧‍🇾",
":belgium:": "🇧‍🇪",
":belize:": "🇧‍🇿",
":bell:": "🔔",
":bell_pepper:": "🫑",
":bellhop_bell:": "🛎",
":benin:": "🇧‍🇯",
":bento:": "🍱",
":bermuda:": "🇧‍🇲",
":beverage_box:": "🧃",
":bhutan:": "🇧‍🇹",
":bicyclist:": "🚴",
":bike:": "🚲",
":biking_man:": "🚴‍♂",
":biking_woman:": "🚴‍♀",
":bikini:": "👙",
":billed_cap:": "🧢",
":biohazard:": "☣",
":bird:": "🐦",
":birthday:": "🎂",
":bison:": "🦬",
":black_cat:": "🐈‍⬛",
":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_man:": "👱‍♂",
":blond_haired_person:": "👱",
":blond_haired_woman:": "👱‍♀",
":blonde_woman:": "👱‍♀",
":blossom:": "🌼",
":blowfish:": "🐡",
":blue_book:": "📘",
":blue_car:": "🚙",
":blue_heart:": "💙",
":blue_square:": "🟦",
":blueberries:": "🫐",
":blush:": "😊",
":boar:": "🐗",
":boat:": "⛵",
":bolivia:": "🇧‍🇴",
":bomb:": "💣",
":bone:": "🦴",
":book:": "📖",
":bookmark:": "🔖",
":bookmark_tabs:": "📑",
":books:": "📚",
":boom:": "💥",
":boomerang:": "🪃",
":boot:": "👢",
":bosnia_herzegovina:": "🇧‍🇦",
":botswana:": "🇧‍🇼",
":bouncing_ball_man:": "⛹‍♂",
":bouncing_ball_person:": "⛹",
":bouncing_ball_woman:": "⛹‍♀",
":bouquet:": "💐",
":bouvet_island:": "🇧‍🇻",
":bow:": "🙇",
":bow_and_arrow:": "🏹",
":bowing_man:": "🙇‍♂",
":bowing_woman:": "🙇‍♀",
":bowl_with_spoon:": "🥣",
":bowling:": "🎳",
":boxing_glove:": "🥊",
":boy:": "👦",
":brain:": "🧠",
":brazil:": "🇧‍🇷",
":bread:": "🍞",
":breast_feeding:": "🤱",
":bricks:": "🧱",
":bride_with_veil:": "👰‍♀",
":bridge_at_night:": "🌉",
":briefcase:": "💼",
":british_indian_ocean_territory:": "🇮‍🇴",
":british_virgin_islands:": "🇻‍🇬",
":broccoli:": "🥦",
":broken_heart:": "💔",
":broom:": "🧹",
":brown_circle:": "🟤",
":brown_heart:": "🤎",
":brown_square:": "🟫",
":brunei:": "🇧‍🇳",
":bubble_tea:": "🧋",
":bucket:": "🪣",
":bug:": "🐛",
":building_construction:": "🏗",
":bulb:": "💡",
":bulgaria:": "🇧‍🇬",
":bullettrain_front:": "🚅",
":bullettrain_side:": "🚄",
":burkina_faso:": "🇧‍🇫",
":burrito:": "🌯",
":burundi:": "🇧‍🇮",
":bus:": "🚌",
":business_suit_levitating:": "🕴",
":busstop:": "🚏",
":bust_in_silhouette:": "👤",
":busts_in_silhouette:": "👥",
":butter:": "🧈",
":butterfly:": "🦋",
":cactus:": "🌵",
":cake:": "🍰",
":calendar:": "📆",
":call_me_hand:": "🤙",
":calling:": "📲",
":cambodia:": "🇰‍🇭",
":camel:": "🐫",
":camera:": "📷",
":camera_flash:": "📸",
":cameroon:": "🇨‍🇲",
":camping:": "🏕",
":canada:": "🇨‍🇦",
":canary_islands:": "🇮‍🇨",
":cancer:": "♋",
":candle:": "🕯",
":candy:": "🍬",
":canned_food:": "🥫",
":canoe:": "🛶",
":cape_verde:": "🇨‍🇻",
":capital_abcd:": "🔠",
":capricorn:": "♑",
":car:": "🚗",
":card_file_box:": "🗃",
":card_index:": "📇",
":card_index_dividers:": "🗂",
":caribbean_netherlands:": "🇧‍🇶",
":carousel_horse:": "🎠",
":carpentry_saw:": "🪚",
":carrot:": "🥕",
":cartwheeling:": "🤸",
":cat:": "🐱",
":cat2:": "🐈",
":cayman_islands:": "🇰‍🇾",
":cd:": "💿",
":central_african_republic:": "🇨‍🇫",
":ceuta_melilla:": "🇪‍🇦",
":chad:": "🇹‍🇩",
":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:": "🚸",
":chile:": "🇨‍🇱",
":chipmunk:": "🐿",
":chocolate_bar:": "🍫",
":chopsticks:": "🥢",
":christmas_island:": "🇨‍🇽",
":christmas_tree:": "🎄",
":church:": "⛪",
":cinema:": "🎦",
":circus_tent:": "🎪",
":city_sunrise:": "🌇",
":city_sunset:": "🌆",
":cityscape:": "🏙",
":cl:": "🆑",
":clamp:": "🗜",
":clap:": "👏",
":clapper:": "🎬",
":classical_building:": "🏛",
":climbing:": "🧗",
":climbing_man:": "🧗‍♂",
":climbing_woman:": "🧗‍♀",
":clinking_glasses:": "🥂",
":clipboard:": "📋",
":clipperton_island:": "🇨‍🇵",
":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:": "♣",
":cn:": "🇨‍🇳",
":coat:": "🧥",
":cockroach:": "🪳",
":cocktail:": "🍸",
":coconut:": "🥥",
":cocos_islands:": "🇨‍🇨",
":coffee:": "☕",
":coffin:": "⚰",
":coin:": "🪙",
":cold_face:": "🥶",
":cold_sweat:": "😰",
":collision:": "💥",
":colombia:": "🇨‍🇴",
":comet:": "☄",
":comoros:": "🇰‍🇲",
":compass:": "🧭",
":computer:": "💻",
":computer_mouse:": "🖱",
":confetti_ball:": "🎊",
":confounded:": "😖",
":confused:": "😕",
":congo_brazzaville:": "🇨‍🇬",
":congo_kinshasa:": "🇨‍🇩",
":congratulations:": "㊗",
":construction:": "🚧",
":construction_worker:": "👷",
":construction_worker_man:": "👷‍♂",
":construction_worker_woman:": "👷‍♀",
":control_knobs:": "🎛",
":convenience_store:": "🏪",
":cook:": "🧑‍🍳",
":cook_islands:": "🇨‍🇰",
":cookie:": "🍪",
":cool:": "🆒",
":cop:": "👮",
":copyright:": "©",
":corn:": "🌽",
":costa_rica:": "🇨‍🇷",
":cote_divoire:": "🇨‍🇮",
":couch_and_lamp:": "🛋",
":couple:": "👫",
":couple_with_heart:": "💑",
":couple_with_heart_man_man:": "👨‍❤‍👨",
":couple_with_heart_woman_man:": "👩‍❤‍👨",
":couple_with_heart_woman_woman:": "👩‍❤‍👩",
":couplekiss:": "💏",
":couplekiss_man_man:": "👨‍❤‍💋‍👨",
":couplekiss_man_woman:": "👩‍❤‍💋‍👨",
":couplekiss_woman_woman:": "👩‍❤‍💋‍👩",
":cow:": "🐮",
":cow2:": "🐄",
":cowboy_hat_face:": "🤠",
":crab:": "🦀",
":crayon:": "🖍",
":credit_card:": "💳",
":crescent_moon:": "🌙",
":cricket:": "🦗",
":cricket_game:": "🏏",
":croatia:": "🇭‍🇷",
":crocodile:": "🐊",
":croissant:": "🥐",
":crossed_fingers:": "🤞",
":crossed_flags:": "🎌",
":crossed_swords:": "⚔",
":crown:": "👑",
":cry:": "😢",
":crying_cat_face:": "😿",
":crystal_ball:": "🔮",
":cuba:": "🇨‍🇺",
":cucumber:": "🥒",
":cup_with_straw:": "🥤",
":cupcake:": "🧁",
":cupid:": "💘",
":curacao:": "🇨‍🇼",
":curling_stone:": "🥌",
":curly_haired_man:": "👨‍🦱",
":curly_haired_woman:": "👩‍🦱",
":curly_loop:": "➰",
":currency_exchange:": "💱",
":curry:": "🍛",
":cursing_face:": "🤬",
":custard:": "🍮",
":customs:": "🛃",
":cut_of_meat:": "🥩",
":cyclone:": "🌀",
":cyprus:": "🇨‍🇾",
":czech_republic:": "🇨‍🇿",
":dagger:": "🗡",
":dancer:": "💃",
":dancers:": "👯",
":dancing_men:": "👯‍♂",
":dancing_women:": "👯‍♀",
":dango:": "🍡",
":dark_sunglasses:": "🕶",
":dart:": "🎯",
":dash:": "💨",
":date:": "📅",
":de:": "🇩‍🇪",
":deaf_man:": "🧏‍♂",
":deaf_person:": "🧏",
":deaf_woman:": "🧏‍♀",
":deciduous_tree:": "🌳",
":deer:": "🦌",
":denmark:": "🇩‍🇰",
":department_store:": "🏬",
":derelict_house:": "🏚",
":desert:": "🏜",
":desert_island:": "🏝",
":desktop_computer:": "🖥",
":detective:": "🕵",
":diamond_shape_with_a_dot_inside:": "💠",
":diamonds:": "♦",
":diego_garcia:": "🇩‍🇬",
":disappointed:": "😞",
":disappointed_relieved:": "😥",
":disguised_face:": "🥸",
":diving_mask:": "🤿",
":diya_lamp:": "🪔",
":dizzy:": "💫",
":dizzy_face:": "😵",
":djibouti:": "🇩‍🇯",
":dna:": "🧬",
":do_not_litter:": "🚯",
":dodo:": "🦤",
":dog:": "🐶",
":dog2:": "🐕",
":dollar:": "💵",
":dolls:": "🎎",
":dolphin:": "🐬",
":dominica:": "🇩‍🇲",
":dominican_republic:": "🇩‍🇴",
":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:": "🌏",
":ecuador:": "🇪‍🇨",
":egg:": "🥚",
":eggplant:": "🍆",
":egypt:": "🇪‍🇬",
":eight:": "8⃣",
":eight_pointed_black_star:": "✴",
":eight_spoked_asterisk:": "✳",
":eject_button:": "⏏",
":el_salvador:": "🇸‍🇻",
":electric_plug:": "🔌",
":elephant:": "🐘",
":elevator:": "🛗",
":elf:": "🧝",
":elf_man:": "🧝‍♂",
":elf_woman:": "🧝‍♀",
":email:": "📧",
":end:": "🔚",
":england:": "🏴‍󠁧‍󠁢‍󠁥‍󠁮‍󠁧‍󠁿",
":envelope:": "✉",
":envelope_with_arrow:": "📩",
":equatorial_guinea:": "🇬‍🇶",
":eritrea:": "🇪‍🇷",
":es:": "🇪‍🇸",
":estonia:": "🇪‍🇪",
":ethiopia:": "🇪‍🇹",
":eu:": "🇪‍🇺",
":euro:": "💶",
":european_castle:": "🏰",
":european_post_office:": "🏤",
":european_union:": "🇪‍🇺",
":evergreen_tree:": "🌲",
":exclamation:": "❗",
":exploding_head:": "🤯",
":expressionless:": "😑",
":eye:": "👁",
":eye_speech_bubble:": "👁‍🗨",
":eyeglasses:": "👓",
":eyes:": "👀",
":face_exhaling:": "😮‍💨",
":face_in_clouds:": "😶‍🌫",
":face_with_head_bandage:": "🤕",
":face_with_spiral_eyes:": "😵‍💫",
":face_with_thermometer:": "🤒",
":facepalm:": "🤦",
":facepunch:": "👊",
":factory:": "🏭",
":factory_worker:": "🧑‍🏭",
":fairy:": "🧚",
":fairy_man:": "🧚‍♂",
":fairy_woman:": "🧚‍♀",
":falafel:": "🧆",
":falkland_islands:": "🇫‍🇰",
":fallen_leaf:": "🍂",
":family:": "👪",
":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:": "👨‍👩‍👦",
":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:": "👩‍👩‍👧‍👧",
":farmer:": "🧑‍🌾",
":faroe_islands:": "🇫‍🇴",
":fast_forward:": "⏩",
":fax:": "📠",
":fearful:": "😨",
":feather:": "🪶",
":feet:": "🐾",
":female_detective:": "🕵‍♀",
":female_sign:": "♀",
":ferris_wheel:": "🎡",
":ferry:": "⛴",
":field_hockey:": "🏑",
":fiji:": "🇫‍🇯",
":file_cabinet:": "🗄",
":file_folder:": "📁",
":film_projector:": "📽",
":film_strip:": "🎞",
":finland:": "🇫‍🇮",
":fire:": "🔥",
":fire_engine:": "🚒",
":fire_extinguisher:": "🧯",
":firecracker:": "🧨",
":firefighter:": "🧑‍🚒",
":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:": "🛫",
":flipper:": "🐬",
":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:": "🦊",
":fr:": "🇫‍🇷",
":framed_picture:": "🖼",
":free:": "🆓",
":french_guiana:": "🇬‍🇫",
":french_polynesia:": "🇵‍🇫",
":french_southern_territories:": "🇹‍🇫",
":fried_egg:": "🍳",
":fried_shrimp:": "🍤",
":fries:": "🍟",
":frog:": "🐸",
":frowning:": "😦",
":frowning_face:": "☹",
":frowning_man:": "🙍‍♂",
":frowning_person:": "🙍",
":frowning_woman:": "🙍‍♀",
":fu:": "🖕",
":fuelpump:": "⛽",
":full_moon:": "🌕",
":full_moon_with_face:": "🌝",
":funeral_urn:": "⚱",
":gabon:": "🇬‍🇦",
":gambia:": "🇬‍🇲",
":game_die:": "🎲",
":garlic:": "🧄",
":gb:": "🇬‍🇧",
":gear:": "⚙",
":gem:": "💎",
":gemini:": "♊",
":genie:": "🧞",
":genie_man:": "🧞‍♂",
":genie_woman:": "🧞‍♀",
":georgia:": "🇬‍🇪",
":ghana:": "🇬‍🇭",
":ghost:": "👻",
":gibraltar:": "🇬‍🇮",
":gift:": "🎁",
":gift_heart:": "💝",
":giraffe:": "🦒",
":girl:": "👧",
":globe_with_meridians:": "🌐",
":gloves:": "🧤",
":goal_net:": "🥅",
":goat:": "🐐",
":goggles:": "🥽",
":golf:": "⛳",
":golfing:": "🏌",
":golfing_man:": "🏌‍♂",
":golfing_woman:": "🏌‍♀",
":gorilla:": "🦍",
":grapes:": "🍇",
":greece:": "🇬‍🇷",
":green_apple:": "🍏",
":green_book:": "📗",
":green_circle:": "🟢",
":green_heart:": "💚",
":green_salad:": "🥗",
":green_square:": "🟩",
":greenland:": "🇬‍🇱",
":grenada:": "🇬‍🇩",
":grey_exclamation:": "❕",
":grey_question:": "❔",
":grimacing:": "😬",
":grin:": "😁",
":grinning:": "😀",
":guadeloupe:": "🇬‍🇵",
":guam:": "🇬‍🇺",
":guard:": "💂",
":guardsman:": "💂‍♂",
":guardswoman:": "💂‍♀",
":guatemala:": "🇬‍🇹",
":guernsey:": "🇬‍🇬",
":guide_dog:": "🦮",
":guinea:": "🇬‍🇳",
":guinea_bissau:": "🇬‍🇼",
":guitar:": "🎸",
":gun:": "🔫",
":guyana:": "🇬‍🇾",
":haircut:": "💇",
":haircut_man:": "💇‍♂",
":haircut_woman:": "💇‍♀",
":haiti:": "🇭‍🇹",
":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:": "🪦",
":health_worker:": "🧑‍⚕",
":hear_no_evil:": "🙉",
":heard_mcdonald_islands:": "🇭‍🇲",
":heart:": "❤",
":heart_decoration:": "💟",
":heart_eyes:": "😍",
":heart_eyes_cat:": "😻",
":heart_on_fire:": "❤‍🔥",
":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:": "🕳",
":honduras:": "🇭‍🇳",
":honey_pot:": "🍯",
":honeybee:": "🐝",
":hong_kong:": "🇭‍🇰",
":hook:": "🪝",
":horse:": "🐴",
":horse_racing:": "🏇",
":hospital:": "🏥",
":hot_face:": "🥵",
":hot_pepper:": "🌶",
":hotdog:": "🌭",
":hotel:": "🏨",
":hotsprings:": "♨",
":hourglass:": "⌛",
":hourglass_flowing_sand:": "⏳",
":house:": "🏠",
":house_with_garden:": "🏡",
":houses:": "🏘",
":hugs:": "🤗",
":hungary:": "🇭‍🇺",
":hushed:": "😯",
":hut:": "🛖",
":ice_cream:": "🍨",
":ice_cube:": "🧊",
":ice_hockey:": "🏒",
":ice_skate:": "⛸",
":icecream:": "🍦",
":iceland:": "🇮‍🇸",
":id:": "🆔",
":ideograph_advantage:": "🉐",
":imp:": "👿",
":inbox_tray:": "📥",
":incoming_envelope:": "📨",
":india:": "🇮‍🇳",
":indonesia:": "🇮‍🇩",
":infinity:": "♾",
":information_desk_person:": "💁",
":information_source:": "",
":innocent:": "😇",
":interrobang:": "⁉",
":iphone:": "📱",
":iran:": "🇮‍🇷",
":iraq:": "🇮‍🇶",
":ireland:": "🇮‍🇪",
":isle_of_man:": "🇮‍🇲",
":israel:": "🇮‍🇱",
":it:": "🇮‍🇹",
":izakaya_lantern:": "🏮",
":jack_o_lantern:": "🎃",
":jamaica:": "🇯‍🇲",
":japan:": "🗾",
":japanese_castle:": "🏯",
":japanese_goblin:": "👺",
":japanese_ogre:": "👹",
":jeans:": "👖",
":jersey:": "🇯‍🇪",
":jigsaw:": "🧩",
":jordan:": "🇯‍🇴",
":joy:": "😂",
":joy_cat:": "😹",
":joystick:": "🕹",
":jp:": "🇯‍🇵",
":judge:": "🧑‍⚖",
":juggling_person:": "🤹",
":kaaba:": "🕋",
":kangaroo:": "🦘",
":kazakhstan:": "🇰‍🇿",
":kenya:": "🇰‍🇪",
":key:": "🔑",
":keyboard:": "⌨",
":keycap_ten:": "🔟",
":kick_scooter:": "🛴",
":kimono:": "👘",
":kiribati:": "🇰‍🇮",
":kiss:": "💋",
":kissing:": "😗",
":kissing_cat:": "😽",
":kissing_closed_eyes:": "😚",
":kissing_heart:": "😘",
":kissing_smiling_eyes:": "😙",
":kite:": "🪁",
":kiwi_fruit:": "🥝",
":kneeling_man:": "🧎‍♂",
":kneeling_person:": "🧎",
":kneeling_woman:": "🧎‍♀",
":knife:": "🔪",
":knot:": "🪢",
":koala:": "🐨",
":koko:": "🈁",
":kosovo:": "🇽‍🇰",
":kr:": "🇰‍🇷",
":kuwait:": "🇰‍🇼",
":kyrgyzstan:": "🇰‍🇬",
":lab_coat:": "🥼",
":label:": "🏷",
":lacrosse:": "🥍",
":ladder:": "🪜",
":lady_beetle:": "🐞",
":lantern:": "🏮",
":laos:": "🇱‍🇦",
":large_blue_circle:": "🔵",
":large_blue_diamond:": "🔷",
":large_orange_diamond:": "🔶",
":last_quarter_moon:": "🌗",
":last_quarter_moon_with_face:": "🌜",
":latin_cross:": "✝",
":latvia:": "🇱‍🇻",
":laughing:": "😆",
":leafy_green:": "🥬",
":leaves:": "🍃",
":lebanon:": "🇱‍🇧",
":ledger:": "📒",
":left_luggage:": "🛅",
":left_right_arrow:": "↔",
":left_speech_bubble:": "🗨",
":leftwards_arrow_with_hook:": "↩",
":leg:": "🦵",
":lemon:": "🍋",
":leo:": "♌",
":leopard:": "🐆",
":lesotho:": "🇱‍🇸",
":level_slider:": "🎚",
":liberia:": "🇱‍🇷",
":libra:": "♎",
":libya:": "🇱‍🇾",
":liechtenstein:": "🇱‍🇮",
":light_rail:": "🚈",
":link:": "🔗",
":lion:": "🦁",
":lips:": "👄",
":lipstick:": "💄",
":lithuania:": "🇱‍🇹",
":lizard:": "🦎",
":llama:": "🦙",
":lobster:": "🦞",
":lock:": "🔒",
":lock_with_ink_pen:": "🔏",
":lollipop:": "🍭",
":long_drum:": "🪘",
":loop:": "➿",
":lotion_bottle:": "🧴",
":lotus_position:": "🧘",
":lotus_position_man:": "🧘‍♂",
":lotus_position_woman:": "🧘‍♀",
":loud_sound:": "🔊",
":loudspeaker:": "📢",
":love_hotel:": "🏩",
":love_letter:": "💌",
":love_you_gesture:": "🤟",
":low_brightness:": "🔅",
":luggage:": "🧳",
":lungs:": "🫁",
":luxembourg:": "🇱‍🇺",
":lying_face:": "🤥",
":m:": "Ⓜ",
":macau:": "🇲‍🇴",
":macedonia:": "🇲‍🇰",
":madagascar:": "🇲‍🇬",
":mag:": "🔍",
":mag_right:": "🔎",
":mage:": "🧙",
":mage_man:": "🧙‍♂",
":mage_woman:": "🧙‍♀",
":magic_wand:": "🪄",
":magnet:": "🧲",
":mahjong:": "🀄",
":mailbox:": "📫",
":mailbox_closed:": "📪",
":mailbox_with_mail:": "📬",
":mailbox_with_no_mail:": "📭",
":malawi:": "🇲‍🇼",
":malaysia:": "🇲‍🇾",
":maldives:": "🇲‍🇻",
":male_detective:": "🕵‍♂",
":male_sign:": "♂",
":mali:": "🇲‍🇱",
":malta:": "🇲‍🇹",
":mammoth:": "🦣",
":man:": "👨",
":man_artist:": "👨‍🎨",
":man_astronaut:": "👨‍🚀",
":man_beard:": "🧔‍♂",
":man_cartwheeling:": "🤸‍♂",
":man_cook:": "👨‍🍳",
":man_dancing:": "🕺",
":man_facepalming:": "🤦‍♂",
":man_factory_worker:": "👨‍🏭",
":man_farmer:": "👨‍🌾",
":man_feeding_baby:": "👨‍🍼",
":man_firefighter:": "👨‍🚒",
":man_health_worker:": "👨‍⚕",
":man_in_manual_wheelchair:": "👨‍🦽",
":man_in_motorized_wheelchair:": "👨‍🦼",
":man_in_tuxedo:": "🤵‍♂",
":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:": "👨‍💻",
":man_with_gua_pi_mao:": "👲",
":man_with_probing_cane:": "👨‍🦯",
":man_with_turban:": "👳‍♂",
":man_with_veil:": "👰‍♂",
":mandarin:": "🍊",
":mango:": "🥭",
":mans_shoe:": "👞",
":mantelpiece_clock:": "🕰",
":manual_wheelchair:": "🦽",
":maple_leaf:": "🍁",
":marshall_islands:": "🇲‍🇭",
":martial_arts_uniform:": "🥋",
":martinique:": "🇲‍🇶",
":mask:": "😷",
":massage:": "💆",
":massage_man:": "💆‍♂",
":massage_woman:": "💆‍♀",
":mate:": "🧉",
":mauritania:": "🇲‍🇷",
":mauritius:": "🇲‍🇺",
":mayotte:": "🇾‍🇹",
":meat_on_bone:": "🍖",
":mechanic:": "🧑‍🔧",
":mechanical_arm:": "🦾",
":mechanical_leg:": "🦿",
":medal_military:": "🎖",
":medal_sports:": "🏅",
":medical_symbol:": "⚕",
":mega:": "📣",
":melon:": "🍈",
":memo:": "📝",
":men_wrestling:": "🤼‍♂",
":mending_heart:": "❤‍🩹",
":menorah:": "🕎",
":mens:": "🚹",
":mermaid:": "🧜‍♀",
":merman:": "🧜‍♂",
":merperson:": "🧜",
":metal:": "🤘",
":metro:": "🚇",
":mexico:": "🇲‍🇽",
":microbe:": "🦠",
":micronesia:": "🇫‍🇲",
":microphone:": "🎤",
":microscope:": "🔬",
":middle_finger:": "🖕",
":military_helmet:": "🪖",
":milk_glass:": "🥛",
":milky_way:": "🌌",
":minibus:": "🚐",
":minidisc:": "💽",
":mirror:": "🪞",
":mobile_phone_off:": "📴",
":moldova:": "🇲‍🇩",
":monaco:": "🇲‍🇨",
":money_mouth_face:": "🤑",
":money_with_wings:": "💸",
":moneybag:": "💰",
":mongolia:": "🇲‍🇳",
":monkey:": "🐒",
":monkey_face:": "🐵",
":monocle_face:": "🧐",
":monorail:": "🚝",
":montenegro:": "🇲‍🇪",
":montserrat:": "🇲‍🇸",
":moon:": "🌔",
":moon_cake:": "🥮",
":morocco:": "🇲‍🇦",
":mortar_board:": "🎓",
":mosque:": "🕌",
":mosquito:": "🦟",
":motor_boat:": "🛥",
":motor_scooter:": "🛵",
":motorcycle:": "🏍",
":motorized_wheelchair:": "🦼",
":motorway:": "🛣",
":mount_fuji:": "🗻",
":mountain:": "⛰",
":mountain_bicyclist:": "🚵",
":mountain_biking_man:": "🚵‍♂",
":mountain_biking_woman:": "🚵‍♀",
":mountain_cableway:": "🚠",
":mountain_railway:": "🚞",
":mountain_snow:": "🏔",
":mouse:": "🐭",
":mouse2:": "🐁",
":mouse_trap:": "🪤",
":movie_camera:": "🎥",
":moyai:": "🗿",
":mozambique:": "🇲‍🇿",
":mrs_claus:": "🤶",
":muscle:": "💪",
":mushroom:": "🍄",
":musical_keyboard:": "🎹",
":musical_note:": "🎵",
":musical_score:": "🎼",
":mute:": "🔇",
":mx_claus:": "🧑‍🎄",
":myanmar:": "🇲‍🇲",
":nail_care:": "💅",
":name_badge:": "📛",
":namibia:": "🇳‍🇦",
":national_park:": "🏞",
":nauru:": "🇳‍🇷",
":nauseated_face:": "🤢",
":nazar_amulet:": "🧿",
":necktie:": "👔",
":negative_squared_cross_mark:": "❎",
":nepal:": "🇳‍🇵",
":nerd_face:": "🤓",
":nesting_dolls:": "🪆",
":netherlands:": "🇳‍🇱",
":neutral_face:": "😐",
":new:": "🆕",
":new_caledonia:": "🇳‍🇨",
":new_moon:": "🌑",
":new_moon_with_face:": "🌚",
":new_zealand:": "🇳‍🇿",
":newspaper:": "📰",
":newspaper_roll:": "🗞",
":next_track_button:": "⏭",
":ng:": "🆖",
":ng_man:": "🙅‍♂",
":ng_woman:": "🙅‍♀",
":nicaragua:": "🇳‍🇮",
":niger:": "🇳‍🇪",
":nigeria:": "🇳‍🇬",
":night_with_stars:": "🌃",
":nine:": "9⃣",
":ninja:": "🥷",
":niue:": "🇳‍🇺",
":no_bell:": "🔕",
":no_bicycles:": "🚳",
":no_entry:": "⛔",
":no_entry_sign:": "🚫",
":no_good:": "🙅",
":no_good_man:": "🙅‍♂",
":no_good_woman:": "🙅‍♀",
":no_mobile_phones:": "📵",
":no_mouth:": "😶",
":no_pedestrians:": "🚷",
":no_smoking:": "🚭",
":non-potable_water:": "🚱",
":norfolk_island:": "🇳‍🇫",
":north_korea:": "🇰‍🇵",
":northern_mariana_islands:": "🇲‍🇵",
":norway:": "🇳‍🇴",
":nose:": "👃",
":notebook:": "📓",
":notebook_with_decorative_cover:": "📔",
":notes:": "🎶",
":nut_and_bolt:": "🔩",
":o:": "⭕",
":o2:": "🅾",
":ocean:": "🌊",
":octopus:": "🐙",
":oden:": "🍢",
":office:": "🏢",
":office_worker:": "🧑‍💼",
":oil_drum:": "🛢",
":ok:": "🆗",
":ok_hand:": "👌",
":ok_man:": "🙆‍♂",
":ok_person:": "🙆",
":ok_woman:": "🙆‍♀",
":old_key:": "🗝",
":older_adult:": "🧓",
":older_man:": "👴",
":older_woman:": "👵",
":olive:": "🫒",
":om:": "🕉",
":oman:": "🇴‍🇲",
":on:": "🔛",
":oncoming_automobile:": "🚘",
":oncoming_bus:": "🚍",
":oncoming_police_car:": "🚔",
":oncoming_taxi:": "🚖",
":one:": "1⃣",
":one_piece_swimsuit:": "🩱",
":onion:": "🧅",
":open_book:": "📖",
":open_file_folder:": "📂",
":open_hands:": "👐",
":open_mouth:": "😮",
":open_umbrella:": "☂",
":ophiuchus:": "⛎",
":orange:": "🍊",
":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:": "🖌",
":pakistan:": "🇵‍🇰",
":palau:": "🇵‍🇼",
":palestinian_territories:": "🇵‍🇸",
":palm_tree:": "🌴",
":palms_up_together:": "🤲",
":panama:": "🇵‍🇦",
":pancakes:": "🥞",
":panda_face:": "🐼",
":paperclip:": "📎",
":paperclips:": "🖇",
":papua_new_guinea:": "🇵‍🇬",
":parachute:": "🪂",
":paraguay:": "🇵‍🇾",
":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_holding_hands:": "🧑‍🤝‍🧑",
":people_hugging:": "🫂",
":performing_arts:": "🎭",
":persevere:": "😣",
":person_bald:": "🧑‍🦲",
":person_curly_hair:": "🧑‍🦱",
":person_feeding_baby:": "🧑‍🍼",
":person_fencing:": "🤺",
":person_in_manual_wheelchair:": "🧑‍🦽",
":person_in_motorized_wheelchair:": "🧑‍🦼",
":person_in_tuxedo:": "🤵",
":person_red_hair:": "🧑‍🦰",
":person_white_hair:": "🧑‍🦳",
":person_with_probing_cane:": "🧑‍🦯",
":person_with_turban:": "👳",
":person_with_veil:": "👰",
":peru:": "🇵‍🇪",
":petri_dish:": "🧫",
":philippines:": "🇵‍🇭",
":phone:": "☎",
":pick:": "⛏",
":pickup_truck:": "🛻",
":pie:": "🥧",
":pig:": "🐷",
":pig2:": "🐖",
":pig_nose:": "🐽",
":pill:": "💊",
":pilot:": "🧑‍✈",
":pinata:": "🪅",
":pinched_fingers:": "🤌",
":pinching_hand:": "🤏",
":pineapple:": "🍍",
":ping_pong:": "🏓",
":pirate_flag:": "🏴‍☠",
":pisces:": "♓",
":pitcairn_islands:": "🇵‍🇳",
":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:": "👆",
":poland:": "🇵‍🇱",
":polar_bear:": "🐻‍❄",
":police_car:": "🚓",
":police_officer:": "👮",
":policeman:": "👮‍♂",
":policewoman:": "👮‍♀",
":poodle:": "🐩",
":poop:": "💩",
":popcorn:": "🍿",
":portugal:": "🇵‍🇹",
":post_office:": "🏣",
":postal_horn:": "📯",
":postbox:": "📮",
":potable_water:": "🚰",
":potato:": "🥔",
":potted_plant:": "🪴",
":pouch:": "👝",
":poultry_leg:": "🍗",
":pound:": "💷",
":pout:": "😡",
":pouting_cat:": "😾",
":pouting_face:": "🙎",
":pouting_man:": "🙎‍♂",
":pouting_woman:": "🙎‍♀",
":pray:": "🙏",
":prayer_beads:": "📿",
":pregnant_woman:": "🤰",
":pretzel:": "🥨",
":previous_track_button:": "⏮",
":prince:": "🤴",
":princess:": "👸",
":printer:": "🖨",
":probing_cane:": "🦯",
":puerto_rico:": "🇵‍🇷",
":punch:": "👊",
":purple_circle:": "🟣",
":purple_heart:": "💜",
":purple_square:": "🟪",
":purse:": "👛",
":pushpin:": "📌",
":put_litter_in_its_place:": "🚮",
":qatar:": "🇶‍🇦",
":question:": "❓",
":rabbit:": "🐰",
":rabbit2:": "🐇",
":raccoon:": "🦝",
":racehorse:": "🐎",
":racing_car:": "🏎",
":radio:": "📻",
":radio_button:": "🔘",
":radioactive:": "☢",
":rage:": "😡",
":railway_car:": "🚃",
":railway_track:": "🛤",
":rainbow:": "🌈",
":rainbow_flag:": "🏳‍🌈",
":raised_back_of_hand:": "🤚",
":raised_eyebrow:": "🤨",
":raised_hand:": "✋",
":raised_hand_with_fingers_splayed:": "🖐",
":raised_hands:": "🙌",
":raising_hand:": "🙋",
":raising_hand_man:": "🙋‍♂",
":raising_hand_woman:": "🙋‍♀",
":ram:": "🐏",
":ramen:": "🍜",
":rat:": "🐀",
":razor:": "🪒",
":receipt:": "🧾",
":record_button:": "⏺",
":recycle:": "♻",
":red_car:": "🚗",
":red_circle:": "🔴",
":red_envelope:": "🧧",
":red_haired_man:": "👨‍🦰",
":red_haired_woman:": "👩‍🦰",
":red_square:": "🟥",
":registered:": "®",
":relaxed:": "☺",
":relieved:": "😌",
":reminder_ribbon:": "🎗",
":repeat:": "🔁",
":repeat_one:": "🔂",
":rescue_worker_helmet:": "⛑",
":restroom:": "🚻",
":reunion:": "🇷‍🇪",
":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:": "🛼",
":romania:": "🇷‍🇴",
":rooster:": "🐓",
":rose:": "🌹",
":rosette:": "🏵",
":rotating_light:": "🚨",
":round_pushpin:": "📍",
":rowboat:": "🚣",
":rowing_man:": "🚣‍♂",
":rowing_woman:": "🚣‍♀",
":ru:": "🇷‍🇺",
":rugby_football:": "🏉",
":runner:": "🏃",
":running:": "🏃",
":running_man:": "🏃‍♂",
":running_shirt_with_sash:": "🎽",
":running_woman:": "🏃‍♀",
":rwanda:": "🇷‍🇼",
":sa:": "🈂",
":safety_pin:": "🧷",
":safety_vest:": "🦺",
":sagittarius:": "♐",
":sailboat:": "⛵",
":sake:": "🍶",
":salt:": "🧂",
":samoa:": "🇼‍🇸",
":san_marino:": "🇸‍🇲",
":sandal:": "👡",
":sandwich:": "🥪",
":santa:": "🎅",
":sao_tome_principe:": "🇸‍🇹",
":sari:": "🥻",
":sassy_man:": "💁‍♂",
":sassy_woman:": "💁‍♀",
":satellite:": "📡",
":satisfied:": "😆",
":saudi_arabia:": "🇸‍🇦",
":sauna_man:": "🧖‍♂",
":sauna_person:": "🧖",
":sauna_woman:": "🧖‍♀",
":sauropod:": "🦕",
":saxophone:": "🎷",
":scarf:": "🧣",
":school:": "🏫",
":school_satchel:": "🎒",
":scientist:": "🧑‍🔬",
":scissors:": "✂",
":scorpion:": "🦂",
":scorpius:": "♏",
":scotland:": "🏴‍󠁧‍󠁢‍󠁳‍󠁣‍󠁴‍󠁿",
":scream:": "😱",
":scream_cat:": "🙀",
":screwdriver:": "🪛",
":scroll:": "📜",
":seal:": "🦭",
":seat:": "💺",
":secret:": "㊙",
":see_no_evil:": "🙈",
":seedling:": "🌱",
":selfie:": "🤳",
":senegal:": "🇸‍🇳",
":serbia:": "🇷‍🇸",
":service_dog:": "🐕‍🦺",
":seven:": "7⃣",
":sewing_needle:": "🪡",
":seychelles:": "🇸‍🇨",
":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:": "🤫",
":sierra_leone:": "🇸‍🇱",
":signal_strength:": "📶",
":singapore:": "🇸‍🇬",
":singer:": "🧑‍🎤",
":sint_maarten:": "🇸‍🇽",
":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:": "🦥",
":slovakia:": "🇸‍🇰",
":slovenia:": "🇸‍🇮",
":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:": "🥎",
":solomon_islands:": "🇸‍🇧",
":somalia:": "🇸‍🇴",
":soon:": "🔜",
":sos:": "🆘",
":sound:": "🔉",
":south_africa:": "🇿‍🇦",
":south_georgia_south_sandwich_islands:": "🇬‍🇸",
":south_sudan:": "🇸‍🇸",
":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:": "🦑",
":sri_lanka:": "🇱‍🇰",
":st_barthelemy:": "🇧‍🇱",
":st_helena:": "🇸‍🇭",
":st_kitts_nevis:": "🇰‍🇳",
":st_lucia:": "🇱‍🇨",
":st_martin:": "🇲‍🇫",
":st_pierre_miquelon:": "🇵‍🇲",
":st_vincent_grenadines:": "🇻‍🇨",
":stadium:": "🏟",
":standing_man:": "🧍‍♂",
":standing_person:": "🧍",
":standing_woman:": "🧍‍♀",
":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:": "😜",
":student:": "🧑‍🎓",
":studio_microphone:": "🎙",
":stuffed_flatbread:": "🥙",
":sudan:": "🇸‍🇩",
":sun_behind_large_cloud:": "🌥",
":sun_behind_rain_cloud:": "🌦",
":sun_behind_small_cloud:": "🌤",
":sun_with_face:": "🌞",
":sunflower:": "🌻",
":sunglasses:": "😎",
":sunny:": "☀",
":sunrise:": "🌅",
":sunrise_over_mountains:": "🌄",
":superhero:": "🦸",
":superhero_man:": "🦸‍♂",
":superhero_woman:": "🦸‍♀",
":supervillain:": "🦹",
":supervillain_man:": "🦹‍♂",
":supervillain_woman:": "🦹‍♀",
":surfer:": "🏄",
":surfing_man:": "🏄‍♂",
":surfing_woman:": "🏄‍♀",
":suriname:": "🇸‍🇷",
":sushi:": "🍣",
":suspension_railway:": "🚟",
":svalbard_jan_mayen:": "🇸‍🇯",
":swan:": "🦢",
":swaziland:": "🇸‍🇿",
":sweat:": "😓",
":sweat_drops:": "💦",
":sweat_smile:": "😅",
":sweden:": "🇸‍🇪",
":sweet_potato:": "🍠",
":swim_brief:": "🩲",
":swimmer:": "🏊",
":swimming_man:": "🏊‍♂",
":swimming_woman:": "🏊‍♀",
":switzerland:": "🇨‍🇭",
":symbols:": "🔣",
":synagogue:": "🕍",
":syria:": "🇸‍🇾",
":syringe:": "💉",
":t-rex:": "🦖",
":taco:": "🌮",
":tada:": "🎉",
":taiwan:": "🇹‍🇼",
":tajikistan:": "🇹‍🇯",
":takeout_box:": "🥡",
":tamale:": "🫔",
":tanabata_tree:": "🎋",
":tangerine:": "🍊",
":tanzania:": "🇹‍🇿",
":taurus:": "♉",
":taxi:": "🚕",
":tea:": "🍵",
":teacher:": "🧑‍🏫",
":teapot:": "🫖",
":technologist:": "🧑‍💻",
":teddy_bear:": "🧸",
":telephone:": "☎",
":telephone_receiver:": "📞",
":telescope:": "🔭",
":tennis:": "🎾",
":tent:": "⛺",
":test_tube:": "🧪",
":thailand:": "🇹‍🇭",
":thermometer:": "🌡",
":thinking:": "🤔",
":thong_sandal:": "🩴",
":thought_balloon:": "💭",
":thread:": "🧵",
":three:": "3⃣",
":thumbsdown:": "👎",
":thumbsup:": "👍",
":ticket:": "🎫",
":tickets:": "🎟",
":tiger:": "🐯",
":tiger2:": "🐅",
":timer_clock:": "⏲",
":timor_leste:": "🇹‍🇱",
":tipping_hand_man:": "💁‍♂",
":tipping_hand_person:": "💁",
":tipping_hand_woman:": "💁‍♀",
":tired_face:": "😫",
":tm:": "™",
":togo:": "🇹‍🇬",
":toilet:": "🚽",
":tokelau:": "🇹‍🇰",
":tokyo_tower:": "🗼",
":tomato:": "🍅",
":tonga:": "🇹‍🇴",
":tongue:": "👅",
":toolbox:": "🧰",
":tooth:": "🦷",
":toothbrush:": "🪥",
":top:": "🔝",
":tophat:": "🎩",
":tornado:": "🌪",
":tr:": "🇹‍🇷",
":trackball:": "🖲",
":tractor:": "🚜",
":traffic_light:": "🚥",
":train:": "🚋",
":train2:": "🚆",
":tram:": "🚊",
":transgender_flag:": "🏳‍⚧",
":transgender_symbol:": "⚧",
":triangular_flag_on_post:": "🚩",
":triangular_ruler:": "📐",
":trident:": "🔱",
":trinidad_tobago:": "🇹‍🇹",
":tristan_da_cunha:": "🇹‍🇦",
":triumph:": "😤",
":trolleybus:": "🚎",
":trophy:": "🏆",
":tropical_drink:": "🍹",
":tropical_fish:": "🐠",
":truck:": "🚚",
":trumpet:": "🎺",
":tshirt:": "👕",
":tulip:": "🌷",
":tumbler_glass:": "🥃",
":tunisia:": "🇹‍🇳",
":turkey:": "🦃",
":turkmenistan:": "🇹‍🇲",
":turks_caicos_islands:": "🇹‍🇨",
":turtle:": "🐢",
":tuvalu:": "🇹‍🇻",
":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:": "🈳",
":uganda:": "🇺‍🇬",
":uk:": "🇬‍🇧",
":ukraine:": "🇺‍🇦",
":umbrella:": "☔",
":unamused:": "😒",
":underage:": "🔞",
":unicorn:": "🦄",
":united_arab_emirates:": "🇦‍🇪",
":united_nations:": "🇺‍🇳",
":unlock:": "🔓",
":up:": "🆙",
":upside_down_face:": "🙃",
":uruguay:": "🇺‍🇾",
":us:": "🇺‍🇸",
":us_outlying_islands:": "🇺‍🇲",
":us_virgin_islands:": "🇻‍🇮",
":uzbekistan:": "🇺‍🇿",
":v:": "✌",
":vampire:": "🧛",
":vampire_man:": "🧛‍♂",
":vampire_woman:": "🧛‍♀",
":vanuatu:": "🇻‍🇺",
":vatican_city:": "🇻‍🇦",
":venezuela:": "🇻‍🇪",
":vertical_traffic_light:": "🚦",
":vhs:": "📼",
":vibration_mode:": "📳",
":video_camera:": "📹",
":video_game:": "🎮",
":vietnam:": "🇻‍🇳",
":violin:": "🎻",
":virgo:": "♍",
":volcano:": "🌋",
":volleyball:": "🏐",
":vomiting_face:": "🤮",
":vs:": "🆚",
":vulcan_salute:": "🖖",
":waffle:": "🧇",
":wales:": "🏴‍󠁧‍󠁢‍󠁷‍󠁬‍󠁳‍󠁿",
":walking:": "🚶",
":walking_man:": "🚶‍♂",
":walking_woman:": "🚶‍♀",
":wallis_futuna:": "🇼‍🇫",
":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:": "🏋‍♂",
":weight_lifting_woman:": "🏋‍♀",
":western_sahara:": "🇪‍🇭",
":whale:": "🐳",
":whale2:": "🐋",
":wheel_of_dharma:": "☸",
":wheelchair:": "♿",
":white_check_mark:": "✅",
":white_circle:": "⚪",
":white_flag:": "🏳",
":white_flower:": "💮",
":white_haired_man:": "👨‍🦳",
":white_haired_woman:": "👩‍🦳",
":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_artist:": "👩‍🎨",
":woman_astronaut:": "👩‍🚀",
":woman_beard:": "🧔‍♀",
":woman_cartwheeling:": "🤸‍♀",
":woman_cook:": "👩‍🍳",
":woman_dancing:": "💃",
":woman_facepalming:": "🤦‍♀",
":woman_factory_worker:": "👩‍🏭",
":woman_farmer:": "👩‍🌾",
":woman_feeding_baby:": "👩‍🍼",
":woman_firefighter:": "👩‍🚒",
":woman_health_worker:": "👩‍⚕",
":woman_in_manual_wheelchair:": "👩‍🦽",
":woman_in_motorized_wheelchair:": "👩‍🦼",
":woman_in_tuxedo:": "🤵‍♀",
":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_headscarf:": "🧕",
":woman_with_probing_cane:": "👩‍🦯",
":woman_with_turban:": "👳‍♀",
":woman_with_veil:": "👰‍♀",
":womans_clothes:": "👚",
":womans_hat:": "👒",
":women_wrestling:": "🤼‍♀",
":womens:": "🚺",
":wood:": "🪵",
":woozy_face:": "🥴",
":world_map:": "🗺",
":worm:": "🪱",
":worried:": "😟",
":wrench:": "🔧",
":wrestling:": "🤼",
":writing_hand:": "✍",
":x:": "❌",
":yarn:": "🧶",
":yawning_face:": "🥱",
":yellow_circle:": "🟡",
":yellow_heart:": "💛",
":yellow_square:": "🟨",
":yemen:": "🇾‍🇪",
":yen:": "💴",
":yin_yang:": "☯",
":yo_yo:": "🪀",
":yum:": "😋",
":zambia:": "🇿‍🇲",
":zany_face:": "🤪",
":zap:": "⚡",
":zebra:": "🦓",
":zero:": "0⃣",
":zimbabwe:": "🇿‍🇼",
":zipper_mouth_face:": "🤐",
":zombie:": "🧟",
":zombie_man:": "🧟‍♂",
":zombie_woman:": "🧟‍♀",
":zzz:": "💤"
};
class EmojiMarkdownPostProcessor {
static emojiReplace(shortcode, el) {
var _a;
if ((typeof el.tagName === "string") && (el.tagName.indexOf("CODE") !== -1 || el.tagName.indexOf("MJX") !== -1)) {
return false;
}
if (el.hasChildNodes()) {
el.childNodes.forEach((child) => this.emojiReplace(shortcode, child));
}
else {
el.textContent = el.textContent.replace(shortcode, (_a = emoji[shortcode]) !== null && _a !== void 0 ? _a : shortcode);
}
}
}
EmojiMarkdownPostProcessor.emojiProcessor = (el) => {
var _a;
(_a = el.innerText.match(/[:][^\s:][^ \n:]*[:]/g)) === null || _a === void 0 ? void 0 : _a.forEach((e) => EmojiMarkdownPostProcessor.emojiReplace(e, el));
};
const DEFAULT_SETTINGS = {
immediateReplace: true,
suggester: true,
};
class EmojiPluginSettingTab extends obsidian.PluginSettingTab {
constructor(app, plugin) {
super(app, plugin);
this.plugin = plugin;
}
display() {
let { containerEl } = this;
containerEl.empty();
containerEl.createEl('h2', { text: 'Emoji Shortcodes Plugin' });
new obsidian.Setting(containerEl)
.setName('Immediate Emoji Replace')
.setDesc('If this is turned on, Emoji shortcodes will be immediately replaced after typing. Otherwise they are still stored as a shortcode and you only see the Emoji in Preview Mode.')
.addToggle(cb => {
cb.setValue(this.plugin.settings.immediateReplace)
.onChange((value) => __awaiter(this, void 0, void 0, function* () {
this.plugin.settings.immediateReplace = value;
yield this.plugin.saveSettings();
}));
});
new obsidian.Setting(containerEl)
.setName('Emoji Suggester')
.setDesc('If this is turned on, a Suggester will appear everytime you type : followed by a letter. This will help you insert Emojis. (Doesn\'t work on mobile)')
.addToggle(cb => {
cb.setValue(this.plugin.settings.suggester)
.onChange((value) => __awaiter(this, void 0, void 0, function* () {
this.plugin.settings.suggester = value;
yield this.plugin.saveSettings();
}));
});
new obsidian.Setting(containerEl)
.setName('Donate')
.setDesc('If you like this Plugin, consider donating to support continued development:')
.addButton((bt) => {
bt.buttonEl.outerHTML = `<a href="https://www.buymeacoffee.com/phibr0"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=&slug=phibr0&button_colour=5F7FFF&font_colour=ffffff&font_family=Inter&outline_colour=000000&coffee_colour=FFDD00"></a>`;
});
}
}
function checkForInputBlock(cmEditor, cursorPos) {
const tokenType = cmEditor.getTokenAt(cursorPos, true).type;
return (typeof (tokenType) !== "string") || (tokenType.indexOf("code") === -1 && tokenType.indexOf("math") === -1); // "code" matches "inline-code" or "codeblock"
}
const wrapAround = (value, size) => {
return ((value % size) + size) % size;
};
class Suggest {
constructor(owner, containerEl, scope) {
this.owner = owner;
this.containerEl = containerEl;
containerEl.on("click", ".suggestion-item", this.onSuggestionClick.bind(this));
containerEl.on("mousemove", ".suggestion-item", this.onSuggestionMouseover.bind(this));
scope.register([], "ArrowUp", (event) => {
if (!event.isComposing) {
this.setSelectedItem(this.selectedItem - 1, true);
return false;
}
});
scope.register([], "ArrowDown", (event) => {
if (!event.isComposing) {
this.setSelectedItem(this.selectedItem + 1, true);
return false;
}
});
const selectItem = (event) => {
if (!event.isComposing) {
return this.useSelectedItem(event);
}
};
scope.register([], "Enter", selectItem);
scope.register(["Shift"], "Enter", selectItem);
}
onSuggestionClick(event, el) {
event.preventDefault();
const item = this.suggestions.indexOf(el);
this.setSelectedItem(item, false);
this.useSelectedItem(event);
}
onSuggestionMouseover(_event, el) {
const item = this.suggestions.indexOf(el);
this.setSelectedItem(item, false);
}
setSuggestions(values) {
this.containerEl.empty();
const suggestionEls = [];
values.forEach((value) => {
const suggestionEl = this.containerEl.createDiv("suggestion-item ES-suggestion-item");
this.owner.renderSuggestion(value, suggestionEl);
suggestionEls.push(suggestionEl);
});
this.values = values;
this.suggestions = suggestionEls;
this.setSelectedItem(0, false);
}
useSelectedItem(event) {
const currentValue = this.values[this.selectedItem];
if (currentValue) {
this.owner.selectSuggestion(currentValue, event);
return false;
}
else {
//@ts-ignore
this.owner.close();
return true;
}
}
setSelectedItem(selectedIndex, scrollIntoView) {
const normalizedIndex = wrapAround(selectedIndex, this.suggestions.length);
const prevSelectedSuggestion = this.suggestions[this.selectedItem];
const selectedSuggestion = this.suggestions[normalizedIndex];
prevSelectedSuggestion === null || prevSelectedSuggestion === void 0 ? void 0 : prevSelectedSuggestion.removeClass("is-selected");
selectedSuggestion === null || selectedSuggestion === void 0 ? void 0 : selectedSuggestion.addClass("is-selected");
this.selectedItem = normalizedIndex;
if (scrollIntoView) {
selectedSuggestion.scrollIntoView(false);
}
}
}
function checkForInputPhrase(cmEditor, pos, phrase) {
const from = {
line: pos.line,
ch: pos.ch - phrase.length,
};
if (cmEditor.getRange(from, pos) === phrase) {
return true;
}
}
function isCursorBeforePos(pos, cursor) {
if (pos.line === cursor.line) {
return cursor.ch < pos.ch;
}
return cursor.line < pos.line;
}
class CodeMirrorSuggest {
constructor(app, triggerPhrase) {
this.triggerPhrase = triggerPhrase;
this.app = app;
this.scope = new obsidian.Scope();
this.suggestEl = createDiv("suggestion-container");
const suggestion = this.suggestEl.createDiv({ cls: "suggestion" });
this.suggest = new Suggest(this, suggestion, this.scope);
this.scope.register([], "Escape", this.close.bind(this));
this.scope.register([], " ", this.close.bind(this));
addEventListener("ES-replaced", () => {
this.close();
});
}
update(cmEditor, changeObj) {
var _a;
if (this.cmEditor !== cmEditor) {
(_a = this.suggestEl) === null || _a === void 0 ? void 0 : _a.detach();
}
this.cmEditor = cmEditor;
const cursorPos = cmEditor.getCursor();
// autosuggest is open
if (this.suggestEl.parentNode) {
if (isCursorBeforePos(this.startPos, cursorPos) || cmEditor.getLine(cursorPos.line).substring(0, cursorPos.ch).endsWith("::")) {
this.close();
return false;
}
this.attachAtCursor();
}
else {
if (changeObj.text.length === 1 && // ignore multi-cursors
checkForInputPhrase(this.cmEditor, cursorPos, this.triggerPhrase) &&
checkForInputBlock(this.cmEditor, cursorPos) &&
!document.querySelector(".suggestion-container") // don't trigger multiple autosuggests
) {
this.startPos = cursorPos;
this.open();
this.attachAtCursor();
}
}
return false;
}
getStartPos() {
return {
line: this.startPos.line,
ch: this.startPos.ch - this.triggerPhrase.length,
};
}
getInputStr() {
// return string from / to cursor
const cursor = this.cmEditor.getCursor();
const line = this.cmEditor.getLine(cursor.line);
return line.substring(this.startPos.ch, cursor.ch);
}
attachAtCursor() {
const inputStr = this.getInputStr();
const suggestions = this.getSuggestions(inputStr);
this.suggest.setSuggestions(suggestions);
this.cmEditor.addWidget(this.cmEditor.getCursor(), this.suggestEl, true);
}
open() {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
this.app.keymap.pushScope(this.scope);
}
close() {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
this.app.keymap.popScope(this.scope);
this.startPos = null;
this.suggest.setSuggestions([]);
this.suggestEl.detach();
}
}
//This Code, including codemirror-suggest.ts and suggest.ts are modified copies of nl-dates (https://github.com/argenos/nldates-obsidian)
class EmojiSuggest extends CodeMirrorSuggest {
constructor(app, plugin) {
super(app, ":");
this.plugin = plugin;
}
getSuggestions(inputStr) {
const suggestions = this.getEmojiSuggestions(inputStr);
if (inputStr.trim() && suggestions.length) {
return suggestions;
}
else {
if (inputStr === " ") {
this.close();
return;
}
return [];
}
}
getEmojiSuggestions(inputStr) {
return Object.keys(emoji).filter((value) => value.startsWith(":" + inputStr));
}
renderSuggestion(suggestion, el) {
const outer = el.createDiv({ cls: "ES-suggester-container" });
outer.createDiv({ cls: "ES-shortcode" }).setText(this.cap(suggestion.replace(/:/g, "").replace(/_/g, " ")));
outer.createDiv({ cls: "ES-emoji" }).setText(emoji[suggestion]);
}
selectSuggestion(suggestion, _) {
const cursorPos = this.cmEditor.getCursor();
const line = cursorPos.line;
const start = this.cmEditor.getLine(line).substring(0, cursorPos.ch).lastIndexOf(":");
this.cmEditor.replaceRange(this.plugin.settings.immediateReplace ? emoji[suggestion] : suggestion, { ch: start, line: line }, cursorPos);
this.close();
}
cap(string) {
const words = string.split(" ");
return words.map((word) => {
return word[0].toUpperCase() + word.substring(1);
}).join(" ");
}
}
class EmojiShortcodesPlugin extends obsidian.Plugin {
constructor() {
super(...arguments);
this.autosuggestHandler = (cmEditor, changeObj) => {
var _a;
if (obsidian.Platform.isDesktop && this.settings.suggester) {
return (_a = this.autosuggest) === null || _a === void 0 ? void 0 : _a.update(cmEditor, changeObj);
}
else {
return false;
}
};
this.replaceHandler = (cm) => {
var _a;
if (this.settings.immediateReplace) {
const cursorPos = cm.getCursor();
const lineNr = cursorPos.line;
if (checkForInputBlock(cm, cursorPos) === false) {
return false;
}
const lineText = cm.getLine(lineNr).substring(0, cursorPos.ch);
const match = (_a = lineText.match(/:\w+?:$/gm)) === null || _a === void 0 ? void 0 : _a.first();
if (match && emoji[match]) {
dispatchEvent(new Event("ES-replaced"));
cm.replaceRange(emoji[match], { line: lineNr, ch: lineText.length - match.length }, cursorPos);
}
}
};
}
onload() {
return __awaiter(this, void 0, void 0, function* () {
yield this.loadSettings();
this.addSettingTab(new EmojiPluginSettingTab(this.app, this));
this.autosuggest = new EmojiSuggest(this.app, this);
this.registerMarkdownPostProcessor(EmojiMarkdownPostProcessor.emojiProcessor);
this.registerCodeMirror((cm) => {
if (obsidian.Platform.isDesktop) {
cm.on("cursorActivity", this.replaceHandler);
}
cm.on("change", this.autosuggestHandler);
});
});
}
onunload() {
this.app.workspace.iterateCodeMirrors((cm) => {
cm.off("change", this.autosuggestHandler);
cm.off("cursorActivity", this.replaceHandler);
});
}
loadSettings() {
return __awaiter(this, void 0, void 0, function* () {
this.settings = Object.assign({}, DEFAULT_SETTINGS, yield this.loadData());
});
}
saveSettings() {
return __awaiter(this, void 0, void 0, function* () {
yield this.saveData(this.settings);
});
}
}
module.exports = EmojiShortcodesPlugin;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5qcyIsInNyYy9lbW9qaUxpc3QudHMiLCJzcmMvbWFya2Rvd25Qb3N0UHJvY2Vzc29yLnRzIiwic3JjL3NldHRpbmdzLnRzIiwic3JjL3V0aWwudHMiLCJzcmMvc3VnZ2VzdC9zdWdnZXN0LnRzIiwic3JjL3N1Z2dlc3QvY29kZW1pcnJvci1zdWdnZXN0LnRzIiwic3JjL3N1Z2dlc3QvZW1vamktc3VnZ2VzdC50cyIsInNyYy9tYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpudWxsLCJuYW1lcyI6WyJQbHVnaW5TZXR0aW5nVGFiIiwiU2V0dGluZyIsIlNjb3BlIiwiUGx1Z2luIiwiUGxhdGZvcm0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF1REE7QUFDTyxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7QUFDN0QsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7QUFDaEgsSUFBSSxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDL0QsUUFBUSxTQUFTLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENB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