From bdde7b9587e2936220a84064145ca50da3aabd3f Mon Sep 17 00:00:00 2001 From: Joel Bennett Date: Sat, 23 Nov 2024 00:57:12 -0500 Subject: [PATCH] More entities --- Source/Assembly/Colors.Generated.cs | 2 +- .../Entities.Emoji.Generated.Generated.cs | 88 ++-- .../Assembly/{ => Entities}/Entities.Emoji.tt | 6 +- .../Entities.NerdFonts.Generated.cs | 480 +++++++++++++++--- .../{ => Entities}/Entities.NerdFonts.tt | 2 +- Source/Assembly/{ => Entities}/Entities.cs | 28 +- Source/Assembly/Legacy_Entities.NerdFonts.cs | 2 +- .../Provider/Entities/EntityContainer.cs | 72 +++ .../Assembly/Provider/Entities/EntityItem.cs | 157 ------ .../Provider/Entities/EntityProvider.cs | 2 +- .../Provider/Entities/EntityProviderRoot.cs | 4 +- Source/Assembly/Provider/Entities/Grapheme.cs | 67 +++ .../Provider/Entities/GraphemeReader.cs | 39 ++ .../Provider/RgbColor/RgbColorContainer.cs | 32 ++ .../Provider/RgbColor/RgbColorItem.cs | 75 +-- .../Provider/RgbColor/RgbColorProvider.cs | 14 +- .../Provider/RgbColor/RgbColorReader.cs | 62 +++ 17 files changed, 764 insertions(+), 368 deletions(-) rename Source/Assembly/{ => Entities}/Entities.Emoji.Generated.Generated.cs (99%) rename Source/Assembly/{ => Entities}/Entities.Emoji.tt (88%) rename Source/Assembly/{ => Entities}/Entities.NerdFonts.Generated.cs (96%) rename Source/Assembly/{ => Entities}/Entities.NerdFonts.tt (91%) rename Source/Assembly/{ => Entities}/Entities.cs (82%) create mode 100644 Source/Assembly/Provider/Entities/EntityContainer.cs delete mode 100644 Source/Assembly/Provider/Entities/EntityItem.cs create mode 100644 Source/Assembly/Provider/Entities/Grapheme.cs create mode 100644 Source/Assembly/Provider/Entities/GraphemeReader.cs create mode 100644 Source/Assembly/Provider/RgbColor/RgbColorContainer.cs create mode 100644 Source/Assembly/Provider/RgbColor/RgbColorReader.cs diff --git a/Source/Assembly/Colors.Generated.cs b/Source/Assembly/Colors.Generated.cs index b49686f..319ccd1 100644 --- a/Source/Assembly/Colors.Generated.cs +++ b/Source/Assembly/Colors.Generated.cs @@ -1,7 +1,7 @@ +// Note: This is a generated file. The source is in Colors.tt using PoshCode.Pansies.ColorSpaces.Conversions; using PoshCode.Pansies.ColorSpaces; -// Note: This is a generated file. The source is in Colors.tt namespace PoshCode.Pansies { public partial class RgbColor : PoshCode.Pansies.ColorSpaces.Rgb diff --git a/Source/Assembly/Entities.Emoji.Generated.Generated.cs b/Source/Assembly/Entities/Entities.Emoji.Generated.Generated.cs similarity index 99% rename from Source/Assembly/Entities.Emoji.Generated.Generated.cs rename to Source/Assembly/Entities/Entities.Emoji.Generated.Generated.cs index 4139ba4..5594bcb 100644 --- a/Source/Assembly/Entities.Emoji.Generated.Generated.cs +++ b/Source/Assembly/Entities/Entities.Emoji.Generated.Generated.cs @@ -2885,29 +2885,29 @@ public static partial class Entities ["stopwatch"] = "\U000023F1\U0000FE0F", // โฑ๏ธ ["timer_clock"] = "\U000023F2\U0000FE0F", // โฒ๏ธ ["mantelpiece_clock"] = "\U0001F570\U0000FE0F", // ๐Ÿ•ฐ๏ธ - ["twelve_oโ€™clock"] = "\U0001F55B", // ๐Ÿ•› + ["twelve_oclock"] = "\U0001F55B", // ๐Ÿ•› ["twelve_thirty"] = "\U0001F567", // ๐Ÿ•ง - ["one_oโ€™clock"] = "\U0001F550", // ๐Ÿ• + ["one_oclock"] = "\U0001F550", // ๐Ÿ• ["one_thirty"] = "\U0001F55C", // ๐Ÿ•œ - ["two_oโ€™clock"] = "\U0001F551", // ๐Ÿ•‘ + ["two_oclock"] = "\U0001F551", // ๐Ÿ•‘ ["two_thirty"] = "\U0001F55D", // ๐Ÿ• - ["three_oโ€™clock"] = "\U0001F552", // ๐Ÿ•’ + ["three_oclock"] = "\U0001F552", // ๐Ÿ•’ ["three_thirty"] = "\U0001F55E", // ๐Ÿ•ž - ["four_oโ€™clock"] = "\U0001F553", // ๐Ÿ•“ + ["four_oclock"] = "\U0001F553", // ๐Ÿ•“ ["four_thirty"] = "\U0001F55F", // ๐Ÿ•Ÿ - ["five_oโ€™clock"] = "\U0001F554", // ๐Ÿ•” + ["five_oclock"] = "\U0001F554", // ๐Ÿ•” ["five_thirty"] = "\U0001F560", // ๐Ÿ•  - ["six_oโ€™clock"] = "\U0001F555", // ๐Ÿ•• + ["six_oclock"] = "\U0001F555", // ๐Ÿ•• ["six_thirty"] = "\U0001F561", // ๐Ÿ•ก - ["seven_oโ€™clock"] = "\U0001F556", // ๐Ÿ•– + ["seven_oclock"] = "\U0001F556", // ๐Ÿ•– ["seven_thirty"] = "\U0001F562", // ๐Ÿ•ข - ["eight_oโ€™clock"] = "\U0001F557", // ๐Ÿ•— + ["eight_oclock"] = "\U0001F557", // ๐Ÿ•— ["eight_thirty"] = "\U0001F563", // ๐Ÿ•ฃ - ["nine_oโ€™clock"] = "\U0001F558", // ๐Ÿ•˜ + ["nine_oclock"] = "\U0001F558", // ๐Ÿ•˜ ["nine_thirty"] = "\U0001F564", // ๐Ÿ•ค - ["ten_oโ€™clock"] = "\U0001F559", // ๐Ÿ•™ + ["ten_oclock"] = "\U0001F559", // ๐Ÿ•™ ["ten_thirty"] = "\U0001F565", // ๐Ÿ•ฅ - ["eleven_oโ€™clock"] = "\U0001F55A", // ๐Ÿ•š + ["eleven_oclock"] = "\U0001F55A", // ๐Ÿ•š ["eleven_thirty"] = "\U0001F566", // ๐Ÿ•ฆ ["new_moon"] = "\U0001F311", // ๐ŸŒ‘ ["waxing_crescent_moon"] = "\U0001F312", // ๐ŸŒ’ @@ -3060,7 +3060,7 @@ public static partial class Entities ["briefs"] = "\U0001FA72", // ๐Ÿฉฒ ["shorts"] = "\U0001FA73", // ๐Ÿฉณ ["bikini"] = "\U0001F459", // ๐Ÿ‘™ - ["womanโ€™s_clothes"] = "\U0001F45A", // ๐Ÿ‘š + ["womans_clothes"] = "\U0001F45A", // ๐Ÿ‘š ["folding_hand_fan"] = "\U0001FAAD", // ๐Ÿชญ ["purse"] = "\U0001F45B", // ๐Ÿ‘› ["handbag"] = "\U0001F45C", // ๐Ÿ‘œ @@ -3068,22 +3068,22 @@ public static partial class Entities ["shopping_bags"] = "\U0001F6CD\U0000FE0F", // ๐Ÿ›๏ธ ["backpack"] = "\U0001F392", // ๐ŸŽ’ ["thong_sandal"] = "\U0001FA74", // ๐Ÿฉด - ["manโ€™s_shoe"] = "\U0001F45E", // ๐Ÿ‘ž + ["mans_shoe"] = "\U0001F45E", // ๐Ÿ‘ž ["running_shoe"] = "\U0001F45F", // ๐Ÿ‘Ÿ ["hiking_boot"] = "\U0001F97E", // ๐Ÿฅพ ["flat_shoe"] = "\U0001F97F", // ๐Ÿฅฟ ["high_heeled_shoe"] = "\U0001F460", // ๐Ÿ‘  - ["womanโ€™s_sandal"] = "\U0001F461", // ๐Ÿ‘ก + ["womans_sandal"] = "\U0001F461", // ๐Ÿ‘ก ["ballet_shoes"] = "\U0001FA70", // ๐Ÿฉฐ - ["womanโ€™s_boot"] = "\U0001F462", // ๐Ÿ‘ข + ["womans_boot"] = "\U0001F462", // ๐Ÿ‘ข ["hair_pick"] = "\U0001FAAE", // ๐Ÿชฎ ["crown"] = "\U0001F451", // ๐Ÿ‘‘ - ["womanโ€™s_hat"] = "\U0001F452", // ๐Ÿ‘’ + ["womans_hat"] = "\U0001F452", // ๐Ÿ‘’ ["top_hat"] = "\U0001F3A9", // ๐ŸŽฉ ["graduation_cap"] = "\U0001F393", // ๐ŸŽ“ ["billed_cap"] = "\U0001F9E2", // ๐Ÿงข ["military_helmet"] = "\U0001FA96", // ๐Ÿช– - ["rescue_workerโ€™s_helmet"] = "\U000026D1\U0000FE0F", // โ›‘๏ธ + ["rescue_workers_helmet"] = "\U000026D1\U0000FE0F", // โ›‘๏ธ ["prayer_beads"] = "\U0001F4FF", // ๐Ÿ“ฟ ["lipstick"] = "\U0001F484", // ๐Ÿ’„ ["ring"] = "\U0001F48D", // ๐Ÿ’ @@ -3309,8 +3309,8 @@ public static partial class Entities ["litter_in_bin_sign"] = "\U0001F6AE", // ๐Ÿšฎ ["potable_water"] = "\U0001F6B0", // ๐Ÿšฐ ["wheelchair_symbol"] = "\U0000267F", // โ™ฟ - ["menโ€™s_room"] = "\U0001F6B9", // ๐Ÿšน - ["womenโ€™s_room"] = "\U0001F6BA", // ๐Ÿšบ + ["mens_room"] = "\U0001F6B9", // ๐Ÿšน + ["womens_room"] = "\U0001F6BA", // ๐Ÿšบ ["restroom"] = "\U0001F6BB", // ๐Ÿšป ["baby_symbol"] = "\U0001F6BC", // ๐Ÿšผ ["water_closet"] = "\U0001F6BE", // ๐Ÿšพ @@ -3461,9 +3461,9 @@ public static partial class Entities ["input_numbers"] = "\U0001F522", // ๐Ÿ”ข ["input_symbols"] = "\U0001F523", // ๐Ÿ”ฃ ["input_latin_letters"] = "\U0001F524", // ๐Ÿ”ค - ["a_button_(blood_type)"] = "\U0001F170\U0000FE0F", // ๐Ÿ…ฐ๏ธ - ["ab_button_(blood_type)"] = "\U0001F18E", // ๐Ÿ†Ž - ["b_button_(blood_type)"] = "\U0001F171\U0000FE0F", // ๐Ÿ…ฑ๏ธ + ["a_button_blood_type"] = "\U0001F170\U0000FE0F", // ๐Ÿ…ฐ๏ธ + ["ab_button_blood_type"] = "\U0001F18E", // ๐Ÿ†Ž + ["b_button_blood_type"] = "\U0001F171\U0000FE0F", // ๐Ÿ…ฑ๏ธ ["cl_button"] = "\U0001F191", // ๐Ÿ†‘ ["cool_button"] = "\U0001F192", // ๐Ÿ†’ ["free_button"] = "\U0001F193", // ๐Ÿ†“ @@ -3472,29 +3472,29 @@ public static partial class Entities ["circled_m"] = "\U000024C2\U0000FE0F", // โ“‚๏ธ ["new_button"] = "\U0001F195", // ๐Ÿ†• ["ng_button"] = "\U0001F196", // ๐Ÿ†– - ["o_button_(blood_type)"] = "\U0001F17E\U0000FE0F", // ๐Ÿ…พ๏ธ + ["o_button_blood_type"] = "\U0001F17E\U0000FE0F", // ๐Ÿ…พ๏ธ ["ok_button"] = "\U0001F197", // ๐Ÿ†— ["p_button"] = "\U0001F17F\U0000FE0F", // ๐Ÿ…ฟ๏ธ ["sos_button"] = "\U0001F198", // ๐Ÿ†˜ ["up!_button"] = "\U0001F199", // ๐Ÿ†™ ["vs_button"] = "\U0001F19A", // ๐Ÿ†š - ["japanese_โ€œhereโ€_button"] = "\U0001F201", // ๐Ÿˆ - ["japanese_โ€œservice_chargeโ€_button"] = "\U0001F202\U0000FE0F", // ๐Ÿˆ‚๏ธ - ["japanese_โ€œmonthly_amountโ€_button"] = "\U0001F237\U0000FE0F", // ๐Ÿˆท๏ธ - ["japanese_โ€œnot_free_of_chargeโ€_button"] = "\U0001F236", // ๐Ÿˆถ - ["japanese_โ€œreservedโ€_button"] = "\U0001F22F", // ๐Ÿˆฏ - ["japanese_โ€œbargainโ€_button"] = "\U0001F250", // ๐Ÿ‰ - ["japanese_โ€œdiscountโ€_button"] = "\U0001F239", // ๐Ÿˆน - ["japanese_โ€œfree_of_chargeโ€_button"] = "\U0001F21A", // ๐Ÿˆš - ["japanese_โ€œprohibitedโ€_button"] = "\U0001F232", // ๐Ÿˆฒ - ["japanese_โ€œacceptableโ€_button"] = "\U0001F251", // ๐Ÿ‰‘ - ["japanese_โ€œapplicationโ€_button"] = "\U0001F238", // ๐Ÿˆธ - ["japanese_โ€œpassing_gradeโ€_button"] = "\U0001F234", // ๐Ÿˆด - ["japanese_โ€œvacancyโ€_button"] = "\U0001F233", // ๐Ÿˆณ - ["japanese_โ€œcongratulationsโ€_button"] = "\U00003297\U0000FE0F", // ใŠ—๏ธ - ["japanese_โ€œsecretโ€_button"] = "\U00003299\U0000FE0F", // ใŠ™๏ธ - ["japanese_โ€œopen_for_businessโ€_button"] = "\U0001F23A", // ๐Ÿˆบ - ["japanese_โ€œno_vacancyโ€_button"] = "\U0001F235", // ๐Ÿˆต + ["japanese_here_button"] = "\U0001F201", // ๐Ÿˆ + ["japanese_service_charge_button"] = "\U0001F202\U0000FE0F", // ๐Ÿˆ‚๏ธ + ["japanese_monthly_amount_button"] = "\U0001F237\U0000FE0F", // ๐Ÿˆท๏ธ + ["japanese_not_free_of_charge_button"] = "\U0001F236", // ๐Ÿˆถ + ["japanese_reserved_button"] = "\U0001F22F", // ๐Ÿˆฏ + ["japanese_bargain_button"] = "\U0001F250", // ๐Ÿ‰ + ["japanese_discount_button"] = "\U0001F239", // ๐Ÿˆน + ["japanese_free_of_charge_button"] = "\U0001F21A", // ๐Ÿˆš + ["japanese_prohibited_button"] = "\U0001F232", // ๐Ÿˆฒ + ["japanese_acceptable_button"] = "\U0001F251", // ๐Ÿ‰‘ + ["japanese_application_button"] = "\U0001F238", // ๐Ÿˆธ + ["japanese_passing_grade_button"] = "\U0001F234", // ๐Ÿˆด + ["japanese_vacancy_button"] = "\U0001F233", // ๐Ÿˆณ + ["japanese_congratulations_button"] = "\U00003297\U0000FE0F", // ใŠ—๏ธ + ["japanese_secret_button"] = "\U00003299\U0000FE0F", // ใŠ™๏ธ + ["japanese_open_for_business_button"] = "\U0001F23A", // ๐Ÿˆบ + ["japanese_no_vacancy_button"] = "\U0001F235", // ๐Ÿˆต ["red_circle"] = "\U0001F534", // ๐Ÿ”ด ["orange_circle"] = "\U0001F7E0", // ๐ŸŸ  ["yellow_circle"] = "\U0001F7E1", // ๐ŸŸก @@ -3576,12 +3576,12 @@ public static partial class Entities ["flag__belarus"] = "\U0001F1E7\U0001F1FE", // ๐Ÿ‡ง๐Ÿ‡พ ["flag__belize"] = "\U0001F1E7\U0001F1FF", // ๐Ÿ‡ง๐Ÿ‡ฟ ["flag__canada"] = "\U0001F1E8\U0001F1E6", // ๐Ÿ‡จ๐Ÿ‡ฆ - ["flag__cocos_(keeling)_islands"] = "\U0001F1E8\U0001F1E8", // ๐Ÿ‡จ๐Ÿ‡จ + ["flag__cocos_keeling_islands"] = "\U0001F1E8\U0001F1E8", // ๐Ÿ‡จ๐Ÿ‡จ ["flag__congo___kinshasa"] = "\U0001F1E8\U0001F1E9", // ๐Ÿ‡จ๐Ÿ‡ฉ ["flag__central_african_republic"] = "\U0001F1E8\U0001F1EB", // ๐Ÿ‡จ๐Ÿ‡ซ ["flag__congo___brazzaville"] = "\U0001F1E8\U0001F1EC", // ๐Ÿ‡จ๐Ÿ‡ฌ ["flag__switzerland"] = "\U0001F1E8\U0001F1ED", // ๐Ÿ‡จ๐Ÿ‡ญ - ["flag__cรดte_dโ€™ivoire"] = "\U0001F1E8\U0001F1EE", // ๐Ÿ‡จ๐Ÿ‡ฎ + ["flag__cรดte_divoire"] = "\U0001F1E8\U0001F1EE", // ๐Ÿ‡จ๐Ÿ‡ฎ ["flag__cook_islands"] = "\U0001F1E8\U0001F1F0", // ๐Ÿ‡จ๐Ÿ‡ฐ ["flag__chile"] = "\U0001F1E8\U0001F1F1", // ๐Ÿ‡จ๐Ÿ‡ฑ ["flag__cameroon"] = "\U0001F1E8\U0001F1F2", // ๐Ÿ‡จ๐Ÿ‡ฒ @@ -3689,7 +3689,7 @@ public static partial class Entities ["flag__marshall_islands"] = "\U0001F1F2\U0001F1ED", // ๐Ÿ‡ฒ๐Ÿ‡ญ ["flag__north_macedonia"] = "\U0001F1F2\U0001F1F0", // ๐Ÿ‡ฒ๐Ÿ‡ฐ ["flag__mali"] = "\U0001F1F2\U0001F1F1", // ๐Ÿ‡ฒ๐Ÿ‡ฑ - ["flag__myanmar_(burma)"] = "\U0001F1F2\U0001F1F2", // ๐Ÿ‡ฒ๐Ÿ‡ฒ + ["flag__myanmar_burma"] = "\U0001F1F2\U0001F1F2", // ๐Ÿ‡ฒ๐Ÿ‡ฒ ["flag__mongolia"] = "\U0001F1F2\U0001F1F3", // ๐Ÿ‡ฒ๐Ÿ‡ณ ["flag__macao_sar_china"] = "\U0001F1F2\U0001F1F4", // ๐Ÿ‡ฒ๐Ÿ‡ด ["flag__northern_mariana_islands"] = "\U0001F1F2\U0001F1F5", // ๐Ÿ‡ฒ๐Ÿ‡ต diff --git a/Source/Assembly/Entities.Emoji.tt b/Source/Assembly/Entities/Entities.Emoji.tt similarity index 88% rename from Source/Assembly/Entities.Emoji.tt rename to Source/Assembly/Entities/Entities.Emoji.tt index 96d8736..9424288 100644 --- a/Source/Assembly/Entities.Emoji.tt +++ b/Source/Assembly/Entities/Entities.Emoji.tt @@ -70,7 +70,11 @@ namespace PoshCode.Pansies // spec lines: <#= emojiTestDocLines.Count() #> // <#= emojiList.Count #> emojis <# foreach(var emoji in emojiList) { - Write(" [\"" + emoji.Name.ToLower().Replace('-', '_').Replace(' ', '_').Replace(':','_').Replace(',','_') + "\"] = \"" + emoji.String + "\", // " + emoji.Emoji + "\n"); + // Remove these characters completely + var name = String.Join("", emoji.Name.Split('(',')','โ€œ','โ€','โ€™')); + // And replace these with underscores + name = String.Join("_", name.Split('-',' ',':',',')); + Write(" [\"" + name.ToLower() + "\"] = \"" + emoji.String + "\", // " + emoji.Emoji + "\n"); } #> }; diff --git a/Source/Assembly/Entities.NerdFonts.Generated.cs b/Source/Assembly/Entities/Entities.NerdFonts.Generated.cs similarity index 96% rename from Source/Assembly/Entities.NerdFonts.Generated.cs rename to Source/Assembly/Entities/Entities.NerdFonts.Generated.cs index baf0b2f..4b35c46 100644 --- a/Source/Assembly/Entities.NerdFonts.Generated.cs +++ b/Source/Assembly/Entities/Entities.NerdFonts.Generated.cs @@ -10,7 +10,7 @@ public static partial class Entities /// NerdFont symbol list generated from the glyphnames /// /// - public static SortedList NerdFonts = new SortedList(StringComparer.InvariantCultureIgnoreCase) + public static SortedList NerdFontSymbols = new SortedList(StringComparer.InvariantCultureIgnoreCase) { ["cod-account"] = "\U0000eb99", // ๎ฎ™ ["cod-activate_breakpoints"] = "\U0000ea97", // ๎ช— @@ -453,7 +453,9 @@ public static partial class Entities ["custom-ada"] = "\U0000e6b5", // ๎šต ["custom-asm"] = "\U0000e6ab", // ๎šซ ["custom-astro"] = "\U0000e6b3", // ๎šณ + ["custom-bazel"] = "\U0000e63a", // ๎˜บ ["custom-c"] = "\U0000e61e", // ๎˜ž + ["custom-chuck"] = "\U0000e6b6", // ๎šถ ["custom-common_lisp"] = "\U0000e6b0", // ๎šฐ ["custom-cpp"] = "\U0000e61d", // ๎˜ ["custom-crystal"] = "\U0000e62f", // ๎˜ฏ @@ -463,6 +465,7 @@ public static partial class Entities ["custom-elm"] = "\U0000e62c", // ๎˜ฌ ["custom-emacs"] = "\U0000e632", // ๎˜ฒ ["custom-fennel"] = "\U0000e6af", // ๎šฏ + ["custom-firebase"] = "\U0000e657", // ๎™— ["custom-folder"] = "\U0000e5ff", // ๎—ฟ ["custom-folder_config"] = "\U0000e5fc", // ๎—ผ ["custom-folder_git"] = "\U0000e5fb", // ๎—ป @@ -481,202 +484,521 @@ public static partial class Entities ["custom-prettier"] = "\U0000e6b4", // ๎šด ["custom-puppet"] = "\U0000e631", // ๎˜ฑ ["custom-purescript"] = "\U0000e630", // ๎˜ฐ + ["custom-ruby"] = "\U0000e605", // ๎˜… ["custom-scheme"] = "\U0000e6b1", // ๎šฑ ["custom-toml"] = "\U0000e6b2", // ๎šฒ ["custom-v_lang"] = "\U0000e6ac", // ๎šฌ ["custom-vim"] = "\U0000e62b", // ๎˜ซ + ["custom-vitruvian"] = "\U0000e6b7", // ๎šท ["custom-windows"] = "\U0000e62a", // ๎˜ช + ["dev-aarch64"] = "\U0000e700", // ๎œ€ + ["dev-adonisjs"] = "\U0000e701", // ๎œ + ["dev-aftereffects"] = "\U0000e705", // ๎œ… + ["dev-akka"] = "\U0000e708", // ๎œˆ + ["dev-algolia"] = "\U0000e70a", // ๎œŠ + ["dev-alpinejs"] = "\U0000e713", // ๎œ“ + ["dev-amazonwebservices"] = "\U0000e7ad", // ๎žญ + ["dev-anaconda"] = "\U0000e715", // ๎œ• ["dev-android"] = "\U0000e70e", // ๎œŽ + ["dev-androidstudio"] = "\U0000e71a", // ๎œš ["dev-angular"] = "\U0000e753", // ๎“ + ["dev-angularjs"] = "\U0000e71c", // ๎œœ + ["dev-angularmaterial"] = "\U0000e720", // ๎œ  + ["dev-ansible"] = "\U0000e723", // ๎œฃ + ["dev-antdesign"] = "\U0000e72a", // ๎œช + ["dev-apache"] = "\U0000e72b", // ๎œซ + ["dev-apacheairflow"] = "\U0000e72c", // ๎œฌ + ["dev-apachekafka"] = "\U0000e72e", // ๎œฎ + ["dev-apachespark"] = "\U0000e72f", // ๎œฏ + ["dev-apl"] = "\U0000e730", // ๎œฐ ["dev-appcelerator"] = "\U0000e7ab", // ๎žซ ["dev-apple"] = "\U0000e711", // ๎œ‘ - ["dev-appstore"] = "\U0000e713", // ๎œ“ - ["dev-aptana"] = "\U0000e799", // ๎ž™ - ["dev-asterisk"] = "\U0000e7ac", // ๎žฌ - ["dev-atlassian"] = "\U0000e75b", // ๎› + ["dev-appwrite"] = "\U0000e731", // ๎œฑ + ["dev-archlinux"] = "\U0000e732", // ๎œฒ + ["dev-arduino"] = "\U0000e733", // ๎œณ + ["dev-argocd"] = "\U0000e734", // ๎œด + ["dev-astro"] = "\U0000e735", // ๎œต ["dev-atom"] = "\U0000e764", // ๎ค + ["dev-awk"] = "\U0000e741", // ๎ ["dev-aws"] = "\U0000e7ad", // ๎žญ + ["dev-axios"] = "\U0000e74f", // ๎ + ["dev-azure"] = "\U0000e754", // ๎” + ["dev-azuredevops"] = "\U0000e756", // ๎– + ["dev-azuresqldatabase"] = "\U0000e75b", // ๎› + ["dev-babel"] = "\U0000e75d", // ๎ ["dev-backbone"] = "\U0000e752", // ๎’ - ["dev-bing_small"] = "\U0000e700", // ๎œ€ - ["dev-bintray"] = "\U0000e794", // ๎ž” + ["dev-backbonejs"] = "\U0000e752", // ๎’ + ["dev-ballerina"] = "\U0000e75e", // ๎ž + ["dev-bamboo"] = "\U0000e75f", // ๎Ÿ + ["dev-bash"] = "\U0000e760", // ๎  + ["dev-beats"] = "\U0000e761", // ๎ก + ["dev-behance"] = "\U0000e762", // ๎ข ["dev-bitbucket"] = "\U0000e703", // ๎œƒ - ["dev-blackberry"] = "\U0000e723", // ๎œฃ + ["dev-blazor"] = "\U0000e765", // ๎ฅ + ["dev-blender"] = "\U0000e766", // ๎ฆ ["dev-bootstrap"] = "\U0000e747", // ๎‡ ["dev-bower"] = "\U0000e74d", // ๎ - ["dev-brackets"] = "\U0000e79d", // ๎ž - ["dev-bugsense"] = "\U0000e78d", // ๎ž - ["dev-celluloid"] = "\U0000e76b", // ๎ซ - ["dev-chart"] = "\U0000e760", // ๎  + ["dev-browserstack"] = "\U0000e76b", // ๎ซ + ["dev-bulma"] = "\U0000e76c", // ๎ฌ + ["dev-bun"] = "\U0000e76f", // ๎ฏ + ["dev-c"] = "\U0000e771", // ๎ฑ + ["dev-c_lang"] = "\U0000e771", // ๎ฑ + ["dev-cairo"] = "\U0000e773", // ๎ณ + ["dev-cakephp"] = "\U0000e77a", // ๎บ + ["dev-canva"] = "\U0000e77c", // ๎ผ + ["dev-capacitor"] = "\U0000e785", // ๎ž… + ["dev-carbon"] = "\U0000e788", // ๎žˆ + ["dev-cassandra"] = "\U0000e789", // ๎ž‰ + ["dev-centos"] = "\U0000e78a", // ๎žŠ + ["dev-ceylon"] = "\U0000e78b", // ๎ž‹ ["dev-chrome"] = "\U0000e743", // ๎ƒ - ["dev-cisco"] = "\U0000e765", // ๎ฅ + ["dev-circleci"] = "\U0000e78c", // ๎žŒ + ["dev-clarity"] = "\U0000e78d", // ๎ž + ["dev-clion"] = "\U0000e78e", // ๎žŽ ["dev-clojure"] = "\U0000e768", // ๎จ ["dev-clojure_alt"] = "\U0000e76a", // ๎ช - ["dev-cloud9"] = "\U0000e79f", // ๎žŸ - ["dev-coda"] = "\U0000e793", // ๎ž“ - ["dev-code"] = "\U0000e796", // ๎ž– - ["dev-code_badge"] = "\U0000e7a3", // ๎žฃ + ["dev-clojurescript"] = "\U0000e790", // ๎ž + ["dev-cloudflare"] = "\U0000e792", // ๎ž’ + ["dev-cloudflareworkers"] = "\U0000e793", // ๎ž“ + ["dev-cmake"] = "\U0000e794", // ๎ž” + ["dev-codeac"] = "\U0000e796", // ๎ž– + ["dev-codecov"] = "\U0000e797", // ๎ž— ["dev-codeigniter"] = "\U0000e780", // ๎ž€ ["dev-codepen"] = "\U0000e716", // ๎œ– - ["dev-codrops"] = "\U0000e72f", // ๎œฏ ["dev-coffeescript"] = "\U0000e751", // ๎‘ - ["dev-compass"] = "\U0000e761", // ๎ก ["dev-composer"] = "\U0000e783", // ๎žƒ - ["dev-creativecommons"] = "\U0000e789", // ๎ž‰ - ["dev-creativecommons_badge"] = "\U0000e78a", // ๎žŠ + ["dev-confluence"] = "\U0000e799", // ๎ž™ + ["dev-consul"] = "\U0000e79a", // ๎žš + ["dev-contao"] = "\U0000e79b", // ๎ž› + ["dev-corejs"] = "\U0000e79d", // ๎ž + ["dev-cosmosdb"] = "\U0000e79f", // ๎žŸ + ["dev-couchbase"] = "\U0000e7a0", // ๎ž  + ["dev-couchdb"] = "\U0000e7a2", // ๎žข + ["dev-cplusplus"] = "\U0000e7a3", // ๎žฃ + ["dev-crystal"] = "\U0000e7ac", // ๎žฌ + ["dev-csharp"] = "\U0000e7b2", // ๎žฒ ["dev-css3"] = "\U0000e749", // ๎‰ ["dev-css3_full"] = "\U0000e74a", // ๎Š - ["dev-css_tricks"] = "\U0000e701", // ๎œ - ["dev-cssdeck"] = "\U0000e72a", // ๎œช + ["dev-cucumber"] = "\U0000e7b7", // ๎žท + ["dev-cypressio"] = "\U0000e7b9", // ๎žน + ["dev-d3js"] = "\U0000e7bc", // ๎žผ ["dev-dart"] = "\U0000e798", // ๎ž˜ ["dev-database"] = "\U0000e706", // ๎œ† + ["dev-datagrip"] = "\U0000e7bd", // ๎žฝ + ["dev-dataspell"] = "\U0000e7be", // ๎žพ + ["dev-dbeaver"] = "\U0000e7bf", // ๎žฟ ["dev-debian"] = "\U0000e77d", // ๎ฝ + ["dev-denojs"] = "\U0000e7c0", // ๎Ÿ€ + ["dev-devicon"] = "\U0000e7c1", // ๎Ÿ ["dev-digital_ocean"] = "\U0000e7ae", // ๎žฎ + ["dev-digitalocean"] = "\U0000e7ae", // ๎žฎ + ["dev-discordjs"] = "\U0000e7c2", // ๎Ÿ‚ ["dev-django"] = "\U0000e71d", // ๎œ + ["dev-djangorest"] = "\U0000e7c3", // ๎Ÿƒ ["dev-dlang"] = "\U0000e7af", // ๎žฏ ["dev-docker"] = "\U0000e7b0", // ๎žฐ ["dev-doctrine"] = "\U0000e774", // ๎ด - ["dev-dojo"] = "\U0000e71c", // ๎œœ ["dev-dotnet"] = "\U0000e77f", // ๎ฟ + ["dev-dotnetcore"] = "\U0000e7c6", // ๎Ÿ† ["dev-dreamweaver"] = "\U0000e79c", // ๎žœ ["dev-dropbox"] = "\U0000e707", // ๎œ‡ + ["dev-dropwizard"] = "\U0000e7c7", // ๎Ÿ‡ ["dev-drupal"] = "\U0000e742", // ๎‚ + ["dev-dynamodb"] = "\U0000e7c8", // ๎Ÿˆ ["dev-eclipse"] = "\U0000e79e", // ๎žž + ["dev-ecto"] = "\U0000e7c9", // ๎Ÿ‰ + ["dev-elasticsearch"] = "\U0000e7ca", // ๎ŸŠ + ["dev-electron"] = "\U0000e7cb", // ๎Ÿ‹ + ["dev-eleventy"] = "\U0000e7cc", // ๎ŸŒ + ["dev-elixir"] = "\U0000e7cd", // ๎Ÿ + ["dev-elm"] = "\U0000e7ce", // ๎ŸŽ + ["dev-emacs"] = "\U0000e7cf", // ๎Ÿ + ["dev-embeddedc"] = "\U0000e7d0", // ๎Ÿ ["dev-ember"] = "\U0000e71b", // ๎œ› - ["dev-envato"] = "\U0000e75d", // ๎ + ["dev-envoy"] = "\U0000e7d1", // ๎Ÿ‘ ["dev-erlang"] = "\U0000e7b1", // ๎žฑ - ["dev-extjs"] = "\U0000e78e", // ๎žŽ + ["dev-eslint"] = "\U0000e7d2", // ๎Ÿ’ + ["dev-express"] = "\U0000e7d3", // ๎Ÿ“ + ["dev-facebook"] = "\U0000e7d4", // ๎Ÿ” + ["dev-fastapi"] = "\U0000e7d5", // ๎Ÿ• + ["dev-fastify"] = "\U0000e7d6", // ๎Ÿ– + ["dev-faunadb"] = "\U0000e7d7", // ๎Ÿ— + ["dev-feathersjs"] = "\U0000e7d8", // ๎Ÿ˜ + ["dev-fedora"] = "\U0000e7d9", // ๎Ÿ™ + ["dev-figma"] = "\U0000e7da", // ๎Ÿš + ["dev-filezilla"] = "\U0000e7db", // ๎Ÿ› ["dev-firebase"] = "\U0000e787", // ๎ž‡ ["dev-firefox"] = "\U0000e745", // ๎… + ["dev-flask"] = "\U0000e7dc", // ๎Ÿœ + ["dev-flutter"] = "\U0000e7dd", // ๎Ÿ + ["dev-fortran"] = "\U0000e7de", // ๎Ÿž + ["dev-foundation"] = "\U0000e7df", // ๎ŸŸ + ["dev-framermotion"] = "\U0000e7e0", // ๎Ÿ  + ["dev-framework7"] = "\U0000e7e1", // ๎Ÿก ["dev-fsharp"] = "\U0000e7a7", // ๎žง + ["dev-gatling"] = "\U0000e7e2", // ๎Ÿข + ["dev-gatsby"] = "\U0000e7e3", // ๎Ÿฃ + ["dev-gazebo"] = "\U0000e7e4", // ๎Ÿค + ["dev-gcc"] = "\U0000e7e5", // ๎Ÿฅ + ["dev-gentoo"] = "\U0000e7e6", // ๎Ÿฆ ["dev-ghost"] = "\U0000e71f", // ๎œŸ ["dev-ghost_small"] = "\U0000e714", // ๎œ” + ["dev-gimp"] = "\U0000e7e7", // ๎Ÿง ["dev-git"] = "\U0000e702", // ๎œ‚ ["dev-git_branch"] = "\U0000e725", // ๎œฅ ["dev-git_commit"] = "\U0000e729", // ๎œฉ ["dev-git_compare"] = "\U0000e728", // ๎œจ ["dev-git_merge"] = "\U0000e727", // ๎œง ["dev-git_pull_request"] = "\U0000e726", // ๎œฆ - ["dev-github"] = "\U0000e70a", // ๎œŠ - ["dev-github_alt"] = "\U0000e708", // ๎œˆ + ["dev-gitbook"] = "\U0000e7e8", // ๎Ÿจ + ["dev-github"] = "\U0000e709", // ๎œ‰ ["dev-github_badge"] = "\U0000e709", // ๎œ‰ ["dev-github_full"] = "\U0000e717", // ๎œ— + ["dev-githubactions"] = "\U0000e7e9", // ๎Ÿฉ + ["dev-githubcodespaces"] = "\U0000e7ea", // ๎Ÿช + ["dev-gitlab"] = "\U0000e7eb", // ๎Ÿซ + ["dev-gitpod"] = "\U0000e7ec", // ๎Ÿฌ + ["dev-gitter"] = "\U0000e7ed", // ๎Ÿญ ["dev-gnu"] = "\U0000e779", // ๎น ["dev-go"] = "\U0000e724", // ๎œค - ["dev-google_cloud_platform"] = "\U0000e7b2", // ๎žฒ - ["dev-google_drive"] = "\U0000e731", // ๎œฑ + ["dev-godot"] = "\U0000e7ee", // ๎Ÿฎ + ["dev-goland"] = "\U0000e7ef", // ๎Ÿฏ + ["dev-google"] = "\U0000e7f0", // ๎Ÿฐ + ["dev-googlecloud"] = "\U0000e7f1", // ๎Ÿฑ + ["dev-gradle"] = "\U0000e7f2", // ๎Ÿฒ + ["dev-grafana"] = "\U0000e7f3", // ๎Ÿณ ["dev-grails"] = "\U0000e7b3", // ๎žณ + ["dev-graphql"] = "\U0000e7f4", // ๎Ÿด ["dev-groovy"] = "\U0000e775", // ๎ต + ["dev-grpc"] = "\U0000e7f5", // ๎Ÿต ["dev-grunt"] = "\U0000e74c", // ๎Œ ["dev-gulp"] = "\U0000e763", // ๎ฃ - ["dev-hackernews"] = "\U0000e71a", // ๎œš + ["dev-hadoop"] = "\U0000e7f6", // ๎Ÿถ + ["dev-handlebars"] = "\U0000e7f7", // ๎Ÿท + ["dev-hardhat"] = "\U0000e7f8", // ๎Ÿธ + ["dev-harvester"] = "\U0000e7f9", // ๎Ÿน ["dev-haskell"] = "\U0000e777", // ๎ท + ["dev-haxe"] = "\U0000e7fa", // ๎Ÿบ + ["dev-helm"] = "\U0000e7fb", // ๎Ÿป ["dev-heroku"] = "\U0000e77b", // ๎ป + ["dev-hibernate"] = "\U0000e7fc", // ๎Ÿผ + ["dev-homebrew"] = "\U0000e7fd", // ๎Ÿฝ ["dev-html5"] = "\U0000e736", // ๎œถ - ["dev-html5_3d_effects"] = "\U0000e735", // ๎œต - ["dev-html5_connectivity"] = "\U0000e734", // ๎œด - ["dev-html5_device_access"] = "\U0000e733", // ๎œณ - ["dev-html5_multimedia"] = "\U0000e732", // ๎œฒ + ["dev-hugo"] = "\U0000e7fe", // ๎Ÿพ ["dev-ie"] = "\U0000e744", // ๎„ + ["dev-ifttt"] = "\U0000e7ff", // ๎Ÿฟ ["dev-illustrator"] = "\U0000e7b4", // ๎žด + ["dev-influxdb"] = "\U0000e800", // ๎ € + ["dev-inkscape"] = "\U0000e801", // ๎  + ["dev-insomnia"] = "\U0000e802", // ๎ ‚ ["dev-intellij"] = "\U0000e7b5", // ๎žต ["dev-ionic"] = "\U0000e7a9", // ๎žฉ + ["dev-jaegertracing"] = "\U0000e803", // ๎ ƒ + ["dev-jamstack"] = "\U0000e804", // ๎ „ + ["dev-jasmine"] = "\U0000e805", // ๎ … ["dev-java"] = "\U0000e738", // ๎œธ - ["dev-javascript"] = "\U0000e74e", // ๎Ž + ["dev-javascript"] = "\U0000e781", // ๎ž + ["dev-javascript_alt"] = "\U0000e74e", // ๎Ž ["dev-javascript_badge"] = "\U0000e781", // ๎ž - ["dev-javascript_shield"] = "\U0000e74f", // ๎ + ["dev-jeet"] = "\U0000e806", // ๎ † + ["dev-jekyll"] = "\U0000e70d", // ๎œ ["dev-jekyll_small"] = "\U0000e70d", // ๎œ ["dev-jenkins"] = "\U0000e767", // ๎ง + ["dev-jest"] = "\U0000e807", // ๎ ‡ + ["dev-jetbrains"] = "\U0000e808", // ๎ ˆ + ["dev-jetpackcompose"] = "\U0000e809", // ๎ ‰ ["dev-jira"] = "\U0000e75c", // ๎œ - ["dev-joomla"] = "\U0000e741", // ๎ + ["dev-jiraalign"] = "\U0000e80a", // ๎ Š ["dev-jquery"] = "\U0000e750", // ๎ - ["dev-jquery_ui"] = "\U0000e754", // ๎” - ["dev-komodo"] = "\U0000e792", // ๎ž’ - ["dev-krakenjs"] = "\U0000e785", // ๎ž… + ["dev-json"] = "\U0000e80b", // ๎ ‹ + ["dev-jule"] = "\U0000e80c", // ๎ Œ + ["dev-julia"] = "\U0000e80d", // ๎  + ["dev-junit"] = "\U0000e80e", // ๎ Ž + ["dev-jupyter"] = "\U0000e80f", // ๎  + ["dev-k3os"] = "\U0000e810", // ๎  + ["dev-k3s"] = "\U0000e811", // ๎ ‘ + ["dev-k6"] = "\U0000e812", // ๎ ’ + ["dev-kaggle"] = "\U0000e813", // ๎ “ + ["dev-karatelabs"] = "\U0000e814", // ๎ ” + ["dev-karma"] = "\U0000e815", // ๎ • + ["dev-kdeneon"] = "\U0000e816", // ๎ – + ["dev-keras"] = "\U0000e817", // ๎ — + ["dev-kibana"] = "\U0000e818", // ๎ ˜ + ["dev-knexjs"] = "\U0000e819", // ๎ ™ + ["dev-knockout"] = "\U0000e81a", // ๎ š + ["dev-kotlin"] = "\U0000e81b", // ๎ › + ["dev-krakenjs"] = "\U0000e784", // ๎ž„ ["dev-krakenjs_badge"] = "\U0000e784", // ๎ž„ + ["dev-ktor"] = "\U0000e81c", // ๎ œ + ["dev-kubernetes"] = "\U0000e81d", // ๎  + ["dev-labview"] = "\U0000e81e", // ๎ ž ["dev-laravel"] = "\U0000e73f", // ๎œฟ + ["dev-latex"] = "\U0000e81f", // ๎ Ÿ ["dev-less"] = "\U0000e758", // ๎˜ + ["dev-linkedin"] = "\U0000e820", // ๎   ["dev-linux"] = "\U0000e712", // ๎œ’ + ["dev-liquibase"] = "\U0000e821", // ๎ ก + ["dev-livewire"] = "\U0000e822", // ๎ ข + ["dev-llvm"] = "\U0000e823", // ๎ ฃ + ["dev-lodash"] = "\U0000e824", // ๎ ค + ["dev-logstash"] = "\U0000e825", // ๎ ฅ + ["dev-lua"] = "\U0000e826", // ๎ ฆ + ["dev-lumen"] = "\U0000e827", // ๎ ง ["dev-magento"] = "\U0000e740", // ๎€ - ["dev-mailchimp"] = "\U0000e79a", // ๎žš + ["dev-mariadb"] = "\U0000e828", // ๎ จ ["dev-markdown"] = "\U0000e73e", // ๎œพ ["dev-materializecss"] = "\U0000e7b6", // ๎žถ + ["dev-materialui"] = "\U0000e829", // ๎ ฉ + ["dev-matlab"] = "\U0000e82a", // ๎ ช + ["dev-matplotlib"] = "\U0000e82b", // ๎ ซ + ["dev-maven"] = "\U0000e82c", // ๎ ฌ + ["dev-maya"] = "\U0000e82d", // ๎ ญ ["dev-meteor"] = "\U0000e7a5", // ๎žฅ ["dev-meteorfull"] = "\U0000e7a6", // ๎žฆ - ["dev-mitlicence"] = "\U0000e78b", // ๎ž‹ - ["dev-modernizr"] = "\U0000e720", // ๎œ  + ["dev-microsoftsqlserver"] = "\U0000e82e", // ๎ ฎ + ["dev-minitab"] = "\U0000e82f", // ๎ ฏ + ["dev-mithril"] = "\U0000e830", // ๎ ฐ + ["dev-mobx"] = "\U0000e831", // ๎ ฑ + ["dev-mocha"] = "\U0000e832", // ๎ ฒ + ["dev-modx"] = "\U0000e833", // ๎ ณ + ["dev-moleculer"] = "\U0000e834", // ๎ ด ["dev-mongodb"] = "\U0000e7a4", // ๎žค - ["dev-mootools"] = "\U0000e790", // ๎ž + ["dev-mongoose"] = "\U0000e835", // ๎ ต + ["dev-moodle"] = "\U0000e836", // ๎ ถ ["dev-mootools_badge"] = "\U0000e78f", // ๎ž ["dev-mozilla"] = "\U0000e786", // ๎ž† - ["dev-msql_server"] = "\U0000e77c", // ๎ผ + ["dev-msdos"] = "\U0000e837", // ๎ ท ["dev-mysql"] = "\U0000e704", // ๎œ„ - ["dev-nancy"] = "\U0000e766", // ๎ฆ - ["dev-netbeans"] = "\U0000e79b", // ๎ž› - ["dev-netmagazine"] = "\U0000e72e", // ๎œฎ + ["dev-nano"] = "\U0000e838", // ๎ ธ + ["dev-neo4j"] = "\U0000e839", // ๎ น + ["dev-neovim"] = "\U0000e83a", // ๎ บ + ["dev-nestjs"] = "\U0000e83b", // ๎ ป + ["dev-netlify"] = "\U0000e83c", // ๎ ผ + ["dev-networkx"] = "\U0000e83d", // ๎ ฝ + ["dev-nextjs"] = "\U0000e83e", // ๎ พ ["dev-nginx"] = "\U0000e776", // ๎ถ + ["dev-ngrx"] = "\U0000e83f", // ๎ ฟ + ["dev-nhibernate"] = "\U0000e840", // ๎ก€ + ["dev-nim"] = "\U0000e841", // ๎ก + ["dev-nimble"] = "\U0000e842", // ๎ก‚ + ["dev-nixos"] = "\U0000e843", // ๎กƒ ["dev-nodejs"] = "\U0000e719", // ๎œ™ ["dev-nodejs_small"] = "\U0000e718", // ๎œ˜ + ["dev-nodemon"] = "\U0000e844", // ๎ก„ + ["dev-nodewebkit"] = "\U0000e845", // ๎ก… + ["dev-nomad"] = "\U0000e846", // ๎ก† + ["dev-norg"] = "\U0000e847", // ๎ก‡ + ["dev-notion"] = "\U0000e848", // ๎กˆ ["dev-npm"] = "\U0000e71e", // ๎œž - ["dev-onedrive"] = "\U0000e762", // ๎ข - ["dev-openshift"] = "\U0000e7b7", // ๎žท - ["dev-opensource"] = "\U0000e771", // ๎ฑ + ["dev-nuget"] = "\U0000e849", // ๎ก‰ + ["dev-numpy"] = "\U0000e84a", // ๎กŠ + ["dev-nuxtjs"] = "\U0000e84b", // ๎ก‹ + ["dev-oauth"] = "\U0000e84c", // ๎กŒ + ["dev-objectivec"] = "\U0000e84d", // ๎ก + ["dev-ocaml"] = "\U0000e84e", // ๎กŽ + ["dev-ohmyzsh"] = "\U0000e84f", // ๎ก + ["dev-okta"] = "\U0000e850", // ๎ก + ["dev-openal"] = "\U0000e851", // ๎ก‘ + ["dev-openapi"] = "\U0000e852", // ๎ก’ + ["dev-opencl"] = "\U0000e853", // ๎ก“ + ["dev-opencv"] = "\U0000e854", // ๎ก” + ["dev-opengl"] = "\U0000e855", // ๎ก• + ["dev-openstack"] = "\U0000e856", // ๎ก– + ["dev-opensuse"] = "\U0000e857", // ๎ก— + ["dev-opentelemetry"] = "\U0000e858", // ๎ก˜ ["dev-opera"] = "\U0000e746", // ๎† + ["dev-oracle"] = "\U0000e859", // ๎ก™ + ["dev-ory"] = "\U0000e85a", // ๎กš + ["dev-p5js"] = "\U0000e85b", // ๎ก› + ["dev-packer"] = "\U0000e85c", // ๎กœ + ["dev-pandas"] = "\U0000e85d", // ๎ก ["dev-perl"] = "\U0000e769", // ๎ฉ - ["dev-phonegap"] = "\U0000e730", // ๎œฐ + ["dev-pfsense"] = "\U0000e85e", // ๎กž + ["dev-phalcon"] = "\U0000e85f", // ๎กŸ + ["dev-phoenix"] = "\U0000e860", // ๎ก  + ["dev-photonengine"] = "\U0000e861", // ๎กก ["dev-photoshop"] = "\U0000e7b8", // ๎žธ ["dev-php"] = "\U0000e73d", // ๎œฝ + ["dev-phpstorm"] = "\U0000e862", // ๎กข + ["dev-playwright"] = "\U0000e863", // ๎กฃ + ["dev-plotly"] = "\U0000e864", // ๎กค + ["dev-pnpm"] = "\U0000e865", // ๎กฅ + ["dev-podman"] = "\U0000e866", // ๎กฆ + ["dev-poetry"] = "\U0000e867", // ๎กง + ["dev-polygon"] = "\U0000e868", // ๎กจ + ["dev-portainer"] = "\U0000e869", // ๎กฉ + ["dev-postcss"] = "\U0000e86a", // ๎กช ["dev-postgresql"] = "\U0000e76e", // ๎ฎ + ["dev-postman"] = "\U0000e86b", // ๎กซ + ["dev-powershell"] = "\U0000e86c", // ๎กฌ + ["dev-premierepro"] = "\U0000e86d", // ๎กญ + ["dev-prisma"] = "\U0000e86e", // ๎กฎ + ["dev-processing"] = "\U0000e86f", // ๎กฏ ["dev-prolog"] = "\U0000e7a1", // ๎žก + ["dev-prometheus"] = "\U0000e870", // ๎กฐ + ["dev-protractor"] = "\U0000e871", // ๎กฑ + ["dev-pulsar"] = "\U0000e872", // ๎กฒ + ["dev-pulumi"] = "\U0000e873", // ๎กณ + ["dev-puppeteer"] = "\U0000e874", // ๎กด + ["dev-purescript"] = "\U0000e875", // ๎กต + ["dev-putty"] = "\U0000e876", // ๎กถ + ["dev-pycharm"] = "\U0000e877", // ๎กท + ["dev-pypi"] = "\U0000e878", // ๎กธ + ["dev-pyscript"] = "\U0000e879", // ๎กน + ["dev-pytest"] = "\U0000e87a", // ๎กบ ["dev-python"] = "\U0000e73c", // ๎œผ - ["dev-rackspace"] = "\U0000e7b9", // ๎žน - ["dev-raphael"] = "\U0000e75f", // ๎Ÿ - ["dev-rasberry_pi"] = "\U0000e722", // ๎œข + ["dev-pytorch"] = "\U0000e87b", // ๎กป + ["dev-qodana"] = "\U0000e87c", // ๎กผ + ["dev-qt"] = "\U0000e87d", // ๎กฝ + ["dev-quarkus"] = "\U0000e87e", // ๎กพ + ["dev-quasar"] = "\U0000e87f", // ๎กฟ + ["dev-qwik"] = "\U0000e880", // ๎ข€ + ["dev-r"] = "\U0000e881", // ๎ข + ["dev-rabbitmq"] = "\U0000e882", // ๎ข‚ + ["dev-rails"] = "\U0000e73b", // ๎œป + ["dev-railway"] = "\U0000e883", // ๎ขƒ + ["dev-rancher"] = "\U0000e884", // ๎ข„ + ["dev-raspberry_pi"] = "\U0000e722", // ๎œข + ["dev-reach"] = "\U0000e885", // ๎ข… ["dev-react"] = "\U0000e7ba", // ๎žบ + ["dev-reactbootstrap"] = "\U0000e886", // ๎ข† + ["dev-reactnavigation"] = "\U0000e887", // ๎ข‡ + ["dev-reactrouter"] = "\U0000e888", // ๎ขˆ + ["dev-readthedocs"] = "\U0000e889", // ๎ข‰ + ["dev-realm"] = "\U0000e88a", // ๎ขŠ + ["dev-rect"] = "\U0000e88b", // ๎ข‹ ["dev-redhat"] = "\U0000e7bb", // ๎žป ["dev-redis"] = "\U0000e76d", // ๎ญ + ["dev-redux"] = "\U0000e88c", // ๎ขŒ + ["dev-renpy"] = "\U0000e88d", // ๎ข + ["dev-replit"] = "\U0000e88e", // ๎ขŽ ["dev-requirejs"] = "\U0000e770", // ๎ฐ - ["dev-responsive"] = "\U0000e797", // ๎ž— + ["dev-rider"] = "\U0000e88f", // ๎ข + ["dev-rocksdb"] = "\U0000e890", // ๎ข + ["dev-rockylinux"] = "\U0000e891", // ๎ข‘ + ["dev-rollup"] = "\U0000e892", // ๎ข’ + ["dev-ros"] = "\U0000e893", // ๎ข“ + ["dev-rspec"] = "\U0000e894", // ๎ข” + ["dev-rstudio"] = "\U0000e895", // ๎ข• ["dev-ruby"] = "\U0000e739", // ๎œน ["dev-ruby_on_rails"] = "\U0000e73b", // ๎œป ["dev-ruby_rough"] = "\U0000e791", // ๎ž‘ + ["dev-rubymine"] = "\U0000e896", // ๎ข– ["dev-rust"] = "\U0000e7a8", // ๎žจ + ["dev-rxjs"] = "\U0000e897", // ๎ข— ["dev-safari"] = "\U0000e748", // ๎ˆ + ["dev-salesforce"] = "\U0000e898", // ๎ข˜ + ["dev-sanity"] = "\U0000e899", // ๎ข™ ["dev-sass"] = "\U0000e74b", // ๎‹ ["dev-scala"] = "\U0000e737", // ๎œท - ["dev-scriptcs"] = "\U0000e7bc", // ๎žผ - ["dev-scrum"] = "\U0000e7a0", // ๎ž  - ["dev-senchatouch"] = "\U0000e78c", // ๎žŒ - ["dev-sizzlejs"] = "\U0000e788", // ๎žˆ + ["dev-scalingo"] = "\U0000e89a", // ๎ขš + ["dev-scikitlearn"] = "\U0000e89b", // ๎ข› + ["dev-sdl"] = "\U0000e89c", // ๎ขœ + ["dev-selenium"] = "\U0000e89d", // ๎ข + ["dev-sema"] = "\U0000e89e", // ๎ขž + ["dev-sentry"] = "\U0000e89f", // ๎ขŸ + ["dev-sequelize"] = "\U0000e8a0", // ๎ข  + ["dev-shopware"] = "\U0000e8a1", // ๎ขก + ["dev-shotgrid"] = "\U0000e8a2", // ๎ขข + ["dev-sketch"] = "\U0000e8a3", // ๎ขฃ + ["dev-slack"] = "\U0000e8a4", // ๎ขค ["dev-smashing_magazine"] = "\U0000e72d", // ๎œญ - ["dev-snap_svg"] = "\U0000e75e", // ๎ž - ["dev-sqllite"] = "\U0000e7c4", // ๎Ÿ„ + ["dev-socketio"] = "\U0000e8a5", // ๎ขฅ + ["dev-solidity"] = "\U0000e8a6", // ๎ขฆ + ["dev-solidjs"] = "\U0000e8a7", // ๎ขง + ["dev-sonarqube"] = "\U0000e8a8", // ๎ขจ + ["dev-sourcetree"] = "\U0000e8a9", // ๎ขฉ + ["dev-spack"] = "\U0000e8aa", // ๎ขช + ["dev-splunk"] = "\U0000e8ab", // ๎ขซ + ["dev-spring"] = "\U0000e8ac", // ๎ขฌ + ["dev-spss"] = "\U0000e8ad", // ๎ขญ + ["dev-spyder"] = "\U0000e8ae", // ๎ขฎ + ["dev-sqlalchemy"] = "\U0000e8af", // ๎ขฏ + ["dev-sqldeveloper"] = "\U0000e8b0", // ๎ขฐ + ["dev-sqlite"] = "\U0000e7c4", // ๎Ÿ„ + ["dev-ssh"] = "\U0000e8b1", // ๎ขฑ ["dev-stackoverflow"] = "\U0000e710", // ๎œ - ["dev-streamline"] = "\U0000e705", // ๎œ… + ["dev-stata"] = "\U0000e8b2", // ๎ขฒ + ["dev-storybook"] = "\U0000e8b3", // ๎ขณ + ["dev-streamlit"] = "\U0000e8b4", // ๎ขด ["dev-stylus"] = "\U0000e759", // ๎™ ["dev-sublime"] = "\U0000e7aa", // ๎žช + ["dev-subversion"] = "\U0000e8b5", // ๎ขต + ["dev-supabase"] = "\U0000e8b6", // ๎ขถ + ["dev-svelte"] = "\U0000e8b7", // ๎ขท + ["dev-swagger"] = "\U0000e8b8", // ๎ขธ ["dev-swift"] = "\U0000e755", // ๎• - ["dev-symfony"] = "\U0000e756", // ๎– + ["dev-swiper"] = "\U0000e8b9", // ๎ขน + ["dev-symfony"] = "\U0000e757", // ๎— ["dev-symfony_badge"] = "\U0000e757", // ๎— - ["dev-techcrunch"] = "\U0000e72c", // ๎œฌ + ["dev-tailwindcss"] = "\U0000e8ba", // ๎ขบ + ["dev-tauri"] = "\U0000e8bb", // ๎ขป + ["dev-tensorflow"] = "\U0000e8bc", // ๎ขผ ["dev-terminal"] = "\U0000e795", // ๎ž• - ["dev-terminal_badge"] = "\U0000e7a2", // ๎žข + ["dev-terraform"] = "\U0000e8bd", // ๎ขฝ + ["dev-tex"] = "\U0000e8be", // ๎ขพ + ["dev-thealgorithms"] = "\U0000e8bf", // ๎ขฟ + ["dev-threedsmax"] = "\U0000e8c0", // ๎ฃ€ + ["dev-threejs"] = "\U0000e8c1", // ๎ฃ + ["dev-titaniumsdk"] = "\U0000e8c2", // ๎ฃ‚ + ["dev-tomcat"] = "\U0000e8c3", // ๎ฃƒ + ["dev-tortoisegit"] = "\U0000e8c4", // ๎ฃ„ + ["dev-towergit"] = "\U0000e8c5", // ๎ฃ… + ["dev-traefikmesh"] = "\U0000e8c6", // ๎ฃ† + ["dev-traefikproxy"] = "\U0000e8c7", // ๎ฃ‡ ["dev-travis"] = "\U0000e77e", // ๎พ ["dev-trello"] = "\U0000e75a", // ๎š + ["dev-trpc"] = "\U0000e8c8", // ๎ฃˆ + ["dev-twitter"] = "\U0000e8c9", // ๎ฃ‰ + ["dev-typescript"] = "\U0000e8ca", // ๎ฃŠ ["dev-typo3"] = "\U0000e772", // ๎ฒ ["dev-ubuntu"] = "\U0000e73a", // ๎œบ - ["dev-uikit"] = "\U0000e773", // ๎ณ + ["dev-uml"] = "\U0000e8cb", // ๎ฃ‹ + ["dev-unifiedmodelinglanguage"] = "\U0000e8cb", // ๎ฃ‹ + ["dev-unity"] = "\U0000e721", // ๎œก ["dev-unity_small"] = "\U0000e721", // ๎œก + ["dev-unix"] = "\U0000e8cc", // ๎ฃŒ + ["dev-unrealengine"] = "\U0000e8cd", // ๎ฃ + ["dev-uwsgi"] = "\U0000e8ce", // ๎ฃŽ + ["dev-v8"] = "\U0000e8cf", // ๎ฃ + ["dev-vagrant"] = "\U0000e8d0", // ๎ฃ + ["dev-vala"] = "\U0000e8d1", // ๎ฃ‘ + ["dev-vault"] = "\U0000e8d2", // ๎ฃ’ + ["dev-vercel"] = "\U0000e8d3", // ๎ฃ“ + ["dev-vertx"] = "\U0000e8d4", // ๎ฃ” ["dev-vim"] = "\U0000e7c5", // ๎Ÿ… + ["dev-visualbasic"] = "\U0000e8d5", // ๎ฃ• ["dev-visualstudio"] = "\U0000e70c", // ๎œŒ - ["dev-w3c"] = "\U0000e76c", // ๎ฌ - ["dev-webplatform"] = "\U0000e76f", // ๎ฏ + ["dev-vite"] = "\U0000e8d6", // ๎ฃ– + ["dev-vitejs"] = "\U0000e8d7", // ๎ฃ— + ["dev-vitess"] = "\U0000e8d8", // ๎ฃ˜ + ["dev-vitest"] = "\U0000e8d9", // ๎ฃ™ + ["dev-vscode"] = "\U0000e8da", // ๎ฃš + ["dev-vsphere"] = "\U0000e8db", // ๎ฃ› + ["dev-vuejs"] = "\U0000e8dc", // ๎ฃœ + ["dev-vuestorefront"] = "\U0000e8dd", // ๎ฃ + ["dev-vuetify"] = "\U0000e8de", // ๎ฃž + ["dev-vyper"] = "\U0000e8df", // ๎ฃŸ + ["dev-wasm"] = "\U0000e8e0", // ๎ฃ  + ["dev-webflow"] = "\U0000e8e1", // ๎ฃก + ["dev-weblate"] = "\U0000e8e2", // ๎ฃข + ["dev-webpack"] = "\U0000e8e3", // ๎ฃฃ + ["dev-webstorm"] = "\U0000e8e4", // ๎ฃค ["dev-windows"] = "\U0000e70f", // ๎œ + ["dev-windows11"] = "\U0000e8e5", // ๎ฃฅ + ["dev-woocommerce"] = "\U0000e8e6", // ๎ฃฆ ["dev-wordpress"] = "\U0000e70b", // ๎œ‹ - ["dev-yahoo"] = "\U0000e715", // ๎œ• - ["dev-yahoo_small"] = "\U0000e72b", // ๎œซ - ["dev-yeoman"] = "\U0000e77a", // ๎บ + ["dev-xamarin"] = "\U0000e8e7", // ๎ฃง + ["dev-xcode"] = "\U0000e8e8", // ๎ฃจ + ["dev-xd"] = "\U0000e8e9", // ๎ฃฉ + ["dev-xml"] = "\U0000e8ea", // ๎ฃช + ["dev-yaml"] = "\U0000e8eb", // ๎ฃซ + ["dev-yarn"] = "\U0000e8ec", // ๎ฃฌ ["dev-yii"] = "\U0000e782", // ๎ž‚ + ["dev-yugabytedb"] = "\U0000e8ed", // ๎ฃญ + ["dev-yunohost"] = "\U0000e8ee", // ๎ฃฎ ["dev-zend"] = "\U0000e778", // ๎ธ + ["dev-zig"] = "\U0000e8ef", // ๎ฃฏ ["fa-500px"] = "\U0000f26e", // ๏‰ฎ ["fa-accessible_icon"] = "\U0000f29b", // ๏Š› ["fa-accusoft"] = "\U0000f0b7", // ๏‚ท @@ -2732,6 +3054,14 @@ public static partial class Entities ["linux-krita"] = "\U0000f33d", // ๏Œฝ ["linux-kubuntu"] = "\U0000f333", // ๏Œณ ["linux-kubuntu_inverse"] = "\U0000f334", // ๏Œด + ["linux-leap"] = "\U0000f37e", // ๏พ + ["linux-libreoffice"] = "\U0000f376", // ๏ถ + ["linux-libreofficebase"] = "\U0000f377", // ๏ท + ["linux-libreofficecalc"] = "\U0000f378", // ๏ธ + ["linux-libreofficedraw"] = "\U0000f379", // ๏น + ["linux-libreofficeimpress"] = "\U0000f37a", // ๏บ + ["linux-libreofficemath"] = "\U0000f37b", // ๏ป + ["linux-libreofficewriter"] = "\U0000f37c", // ๏ผ ["linux-linuxmint"] = "\U0000f30e", // ๏ŒŽ ["linux-linuxmint_inverse"] = "\U0000f30f", // ๏Œ ["linux-locos"] = "\U0000f349", // ๏‰ @@ -2746,6 +3076,7 @@ public static partial class Entities ["linux-mxlinux"] = "\U0000f33f", // ๏Œฟ ["linux-neovim"] = "\U0000f36f", // ๏ฏ ["linux-nixos"] = "\U0000f313", // ๏Œ“ + ["linux-nobara"] = "\U0000f380", // ๏Ž€ ["linux-octoprint"] = "\U0000f34d", // ๏ ["linux-openbsd"] = "\U0000f328", // ๏Œจ ["linux-openscad"] = "\U0000f34e", // ๏Ž @@ -2766,6 +3097,7 @@ public static partial class Entities ["linux-redhat"] = "\U0000f316", // ๏Œ– ["linux-reprap"] = "\U0000f352", // ๏’ ["linux-riscv"] = "\U0000f353", // ๏“ + ["linux-river"] = "\U0000f381", // ๏Ž ["linux-rocky_linux"] = "\U0000f32b", // ๏Œซ ["linux-sabayon"] = "\U0000f317", // ๏Œ— ["linux-slackware"] = "\U0000f318", // ๏Œ˜ @@ -2777,7 +3109,9 @@ public static partial class Entities ["linux-thunderbird"] = "\U0000f370", // ๏ฐ ["linux-tor"] = "\U0000f371", // ๏ฑ ["linux-trisquel"] = "\U0000f344", // ๏„ + ["linux-tumbleweed"] = "\U0000f37d", // ๏ฝ ["linux-tux"] = "\U0000f31a", // ๏Œš + ["linux-typst"] = "\U0000f37f", // ๏ฟ ["linux-ubuntu"] = "\U0000f31b", // ๏Œ› ["linux-ubuntu_inverse"] = "\U0000f31c", // ๏Œœ ["linux-vanilla"] = "\U0000f366", // ๏ฆ diff --git a/Source/Assembly/Entities.NerdFonts.tt b/Source/Assembly/Entities/Entities.NerdFonts.tt similarity index 91% rename from Source/Assembly/Entities.NerdFonts.tt rename to Source/Assembly/Entities/Entities.NerdFonts.tt index 94be092..81b29c5 100644 --- a/Source/Assembly/Entities.NerdFonts.tt +++ b/Source/Assembly/Entities/Entities.NerdFonts.tt @@ -20,7 +20,7 @@ namespace PoshCode.Pansies /// NerdFont symbol list generated from the glyphnames /// /// - public static SortedList NerdFonts = new SortedList(StringComparer.InvariantCultureIgnoreCase) + public static SortedList NerdFontSymbols = new SortedList(StringComparer.InvariantCultureIgnoreCase) { <# HttpClient githubClient = new(){ BaseAddress = new Uri("https://raw.githubusercontent.com") }; diff --git a/Source/Assembly/Entities.cs b/Source/Assembly/Entities/Entities.cs similarity index 82% rename from Source/Assembly/Entities.cs rename to Source/Assembly/Entities/Entities.cs index c2a0ee8..d692674 100644 --- a/Source/Assembly/Entities.cs +++ b/Source/Assembly/Entities/Entities.cs @@ -13,10 +13,28 @@ public static partial class Entities public static SortedList EscapeSequences = new SortedList(StringComparer.InvariantCultureIgnoreCase) { - ["Clear"] = "\u001B[0m", - ["Esc"] = "\u001B[", - ["Store"] = "\u001B[s", - ["Recall"] = "\u001B[u", + ["Store"] = "\e7", //DECSC + ["Recall"] = "\e8", //DECSR + ["Clear"] = "\e[0m", + ["Reset"] = "\e[0m", + ["BlinkOff"] = "\e[25m", + ["Blink"] = "\e[5m", + ["BoldOff"] = "\e[22m", + ["Bold"] = "\e[1m", + ["DimOff"] = "\e[22m", + ["Dim"] = "\e[2m", + ["Hidden"] = "\e[8m", + ["HiddenOff"] = "\e[28m", + ["Reverse"] = "\e[7m", + ["ReverseOff"] = "\e[27m", + ["ItalicOff"] = "\e[23m", + ["Italic"] = "\e[3m", + ["UnderlineOff"] = "\e[24m", + ["Underline"] = "\e[4m", + ["StrikethroughOff"] = "\e[29m", + ["Strikethrough"] = "\e[9m", + + }; public static SortedList ExtendedCharacters = new SortedList(StringComparer.InvariantCultureIgnoreCase) @@ -96,7 +114,7 @@ public static string Decode(string value) // make sure we don't loose anything off the end output.Append(value.Substring(end, value.Length - end)); - // we don't handle { let WebUtility do that + // we don't handle { let WebUtility do that value = WebUtility.HtmlDecode(output.ToString()); return value; } diff --git a/Source/Assembly/Legacy_Entities.NerdFonts.cs b/Source/Assembly/Legacy_Entities.NerdFonts.cs index d2c8765..a09e80f 100644 --- a/Source/Assembly/Legacy_Entities.NerdFonts.cs +++ b/Source/Assembly/Legacy_Entities.NerdFonts.cs @@ -8,7 +8,7 @@ public static partial class Entities /// The NerdFont glyphs /// (irm https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/glyphnames.json).PSObject.Properties.ForEach{ "[`"nf-$($char.Name)`"] = `"\u$($char.Value.code)`", // $($char.Value.char)" } | scb /// Last Updated "version":"3.2.1", "date":"2024-04-12 14:40:46+00:00" - public static SortedList LegacyNerdFonts = new SortedList(StringComparer.InvariantCultureIgnoreCase) + public static SortedList NerdFonts = new SortedList(StringComparer.InvariantCultureIgnoreCase) { ["nf-cod-account"] = "\U0000eb99", // ๎ฎ™ ["nf-cod-activate_breakpoints"] = "\U0000ea97", // ๎ช— diff --git a/Source/Assembly/Provider/Entities/EntityContainer.cs b/Source/Assembly/Provider/Entities/EntityContainer.cs new file mode 100644 index 0000000..1f4c5c9 --- /dev/null +++ b/Source/Assembly/Provider/Entities/EntityContainer.cs @@ -0,0 +1,72 @@ +using CodeOwls.PowerShell.Paths; +using CodeOwls.PowerShell.Provider.PathNodeProcessors; +using CodeOwls.PowerShell.Provider.PathNodes; +using PoshCode.Pansies.Palettes; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation.Provider; +using System.Text; +namespace PoshCode.Pansies.Provider +{ + enum EntityType { + NerdFont, + Emoji, + EscapeSequences, + ExtendedCharacters + } + + class EntityContainer : PathNodeBase + { + private SortedList items; + private EntityType Type; + + public EntityContainer(EntityType type) + { + Type = type; + switch (type) + { + case EntityType.NerdFont: + items = Entities.NerdFonts; + break; + case EntityType.Emoji: + items = Entities.Emoji; + break; + case EntityType.EscapeSequences: + items = Entities.EscapeSequences; + break; + case EntityType.ExtendedCharacters: + items = Entities.ExtendedCharacters; + break; + } + } + + public override IPathValue GetNodeValue() + { + return new ContainerPathValue(Type, Name); + } + + public override string Name + { + get { return Type.ToString(); } + } + + public override IEnumerable GetNodeChildren(IProviderContext providerContext) + { + //return new XTermPalette().Select(color => new EntityItem(color, Type)); + var name = providerContext.Path.Split([Path.DirectorySeparatorChar], 2).LastOrDefault(); + // Console.WriteLine("EntityContainer.GetNodeChildren: " + name); + + if (string.IsNullOrEmpty(name)) { + return items.Select(i => new Grapheme(i)); + } /* else if (System.Management.Automation.WildCardPattern.ContainsWildcardCharacters(name)) { + var pattern = new System.Management.Automation.WildCardPattern(name); + return items.Where(i => pattern.IsMatch(i.Key)).Select(i => new EntityItem(i)); + } */ else { + return items.Where(i => i.Key == name).Select(i => new Grapheme(i)); + } + } + } +} diff --git a/Source/Assembly/Provider/Entities/EntityItem.cs b/Source/Assembly/Provider/Entities/EntityItem.cs deleted file mode 100644 index 5c1ed26..0000000 --- a/Source/Assembly/Provider/Entities/EntityItem.cs +++ /dev/null @@ -1,157 +0,0 @@ -๏ปฟusing CodeOwls.PowerShell.Paths; -using CodeOwls.PowerShell.Provider.PathNodeProcessors; -using CodeOwls.PowerShell.Provider.PathNodes; -using PoshCode.Pansies.Palettes; -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Management.Automation.Provider; -using System.Text; - -namespace PoshCode.Pansies.Provider -{ - enum EntityType { - NerdFont, - Emoji, - EscapeSequences, - ExtendedCharacters - } - - class EntityContainer : PathNodeBase - { - private SortedList items; - private EntityType Type; - - public EntityContainer(EntityType type) - { - Type = type; - switch (type) - { - case EntityType.NerdFont: - items = Entities.NerdFonts; - break; - case EntityType.Emoji: - items = Entities.Emoji; - break; - case EntityType.EscapeSequences: - items = Entities.EscapeSequences; - break; - case EntityType.ExtendedCharacters: - items = Entities.ExtendedCharacters; - break; - } - } - - public override IPathValue GetNodeValue() - { - return new ContainerPathValue(Type, Name); - } - - public override string Name - { - get { return Type.ToString(); } - } - - public override IEnumerable GetNodeChildren(CodeOwls.PowerShell.Provider.PathNodeProcessors.IProviderContext providerContext) - { - //return new XTermPalette().Select(color => new EntityItem(color, Type)); - var name = providerContext.Path.Split(new[] { System.IO.Path.DirectorySeparatorChar }, 2).LastOrDefault(); - - if (string.IsNullOrEmpty(name)) { - return items.Select(i => new EntityItem(i)); - } /* else if (System.Management.Automation.WildCardPattern.ContainsWildcardCharacters(name)) { - var pattern = new System.Management.Automation.WildCardPattern(name); - return items.Where(i => pattern.IsMatch(i.Key)).Select(i => new EntityItem(i)); - } */ else { - return items.Where(i => i.Key == name).Select(i => new EntityItem(i)); - } - } - } - - class EntityReader : IContentReader - { - private EntityItem Item; - - public EntityReader(EntityItem item) - { - Item = item; - } - - public void Close() - { - } - - public void Dispose() - { - } - - public IList Read(long readCount) - { - if (Item != null) { - var result = new[] { Item.Value }; - Item = null; - return result; - } - else return null; - } - - public void Seek(long offset, SeekOrigin origin) - { - throw new NotImplementedException(); - } - } - - - class EntityItem : PathNodeBase, IGetItemContent - { - private readonly String Key; - internal readonly string Value; - - public EntityItem(KeyValuePair item) - { - Key = item.Key; - Value = item.Value; - } - - public EntityItem(string name, string value) - { - Key = name; - Value = value; - } - - /// - /// supplies the item for the current path value - /// - /// the item it wrapped in either a PathValue instance - /// that describes the item, its name, and whether it is - /// a container. - /// - /// - /// - /// - public override IPathValue GetNodeValue() - { - return new LeafPathValue(this, Key); - } - - public IContentReader GetContentReader(IProviderContext providerContext) - { - return new EntityReader(this); - } - - public object GetContentReaderDynamicParameters(IProviderContext providerContext) - { - throw new NotImplementedException(); - } - - /// - /// supplies the name for the item at the current path value - /// - public override string Name - { - get { return Key; } - } - } -} diff --git a/Source/Assembly/Provider/Entities/EntityProvider.cs b/Source/Assembly/Provider/Entities/EntityProvider.cs index 05a96c8..a9f05b3 100644 --- a/Source/Assembly/Provider/Entities/EntityProvider.cs +++ b/Source/Assembly/Provider/Entities/EntityProvider.cs @@ -38,7 +38,7 @@ protected override Collection InitializeDefaultDrives() if (Entities.EnableNerdFonts) { drives.Add( new EntityDrive( - new PSDriveInfo( "NF", ProviderInfo, "Entity::NerdFont:" + System.IO.Path.DirectorySeparatorChar, "NerdFont Symbols", null, "NF:" ) + new PSDriveInfo( "NF", ProviderInfo, "Entity::NerdFontSymbols:" + System.IO.Path.DirectorySeparatorChar, "NerdFont Symbols", null, "NF:" ) ) ); } diff --git a/Source/Assembly/Provider/Entities/EntityProviderRoot.cs b/Source/Assembly/Provider/Entities/EntityProviderRoot.cs index 80c1d31..56e1c97 100644 --- a/Source/Assembly/Provider/Entities/EntityProviderRoot.cs +++ b/Source/Assembly/Provider/Entities/EntityProviderRoot.cs @@ -9,7 +9,6 @@ namespace PoshCode.Pansies.Provider { class EntityProviderRoot : PathNodeBase { - #region unchanged code from previous version public override IPathValue GetNodeValue() { return new ContainerPathValue(this, Name); @@ -22,12 +21,11 @@ public override string Name public override IEnumerable GetNodeChildren(CodeOwls.PowerShell.Provider.PathNodeProcessors.IProviderContext providerContext) { + //Console.WriteLine("PathNodeBase.GetNodeChildren: " + providerContext.Drive.Name); EntityType type = (EntityType)Enum.Parse(typeof(EntityType), providerContext.Drive.Name); var drive = new EntityContainer(type); return drive.GetNodeChildren(providerContext); } - #endregion - } } diff --git a/Source/Assembly/Provider/Entities/Grapheme.cs b/Source/Assembly/Provider/Entities/Grapheme.cs new file mode 100644 index 0000000..d43b7ac --- /dev/null +++ b/Source/Assembly/Provider/Entities/Grapheme.cs @@ -0,0 +1,67 @@ +๏ปฟusing CodeOwls.PowerShell.Paths; +using CodeOwls.PowerShell.Provider.PathNodeProcessors; +using CodeOwls.PowerShell.Provider.PathNodes; +using PoshCode.Pansies.Palettes; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation.Provider; +using System.Text; +using PoshCode.Pansies; + +namespace PoshCode.Pansies.Provider +{ + public class Grapheme : PathNodeBase, IGetItemContent + { + private string name; + public string Value { get; set; } + + + public Grapheme(KeyValuePair item) + { + name = item.Key; + Value = item.Value; + } + + public Grapheme(string name, string value) + { + this.name = name; + Value = value; + } + + /// + /// supplies the item for the current path value + /// + /// the item it wrapped in either a PathValue instance + /// that describes the item, its name, and whether it is + /// a container. + /// + /// + /// + /// + public override IPathValue GetNodeValue() + { + return new LeafPathValue(this, name); + } + + public IContentReader GetContentReader(IProviderContext providerContext) + { + return new GraphemeReader(this); + } + + public object GetContentReaderDynamicParameters(IProviderContext providerContext) + { + throw new NotImplementedException(); + } + + /// + /// supplies the name for the item at the current path value + /// + public override string Name + { + get { return name; } + } + } +} diff --git a/Source/Assembly/Provider/Entities/GraphemeReader.cs b/Source/Assembly/Provider/Entities/GraphemeReader.cs new file mode 100644 index 0000000..0fd8611 --- /dev/null +++ b/Source/Assembly/Provider/Entities/GraphemeReader.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections; +using System.IO; +using System.Management.Automation.Provider; +namespace PoshCode.Pansies.Provider +{ + class GraphemeReader : IContentReader + { + private Grapheme Item; + + public GraphemeReader(Grapheme item) + { + Item = item; + } + + public void Close() + { + } + + public void Dispose() + { + } + + public IList Read(long readCount) + { + if (Item != null) { + var result = new[] { Item.Value }; + Item = null; + return result; + } + else return null; + } + + public void Seek(long offset, SeekOrigin origin) + { + throw new NotImplementedException(); + } + } +} diff --git a/Source/Assembly/Provider/RgbColor/RgbColorContainer.cs b/Source/Assembly/Provider/RgbColor/RgbColorContainer.cs new file mode 100644 index 0000000..df6a124 --- /dev/null +++ b/Source/Assembly/Provider/RgbColor/RgbColorContainer.cs @@ -0,0 +1,32 @@ +using CodeOwls.PowerShell.Provider.PathNodeProcessors; +using CodeOwls.PowerShell.Provider.PathNodes; +using PoshCode.Pansies.Palettes; +using System.Collections.Generic; +using System.Linq; +namespace PoshCode.Pansies.Provider +{ + class RgbColorContainer : PathNodeBase + { + private RgbColorMode RgbColorMode; + + public RgbColorContainer(RgbColorMode mode) + { + RgbColorMode = mode; + } + + public override IPathValue GetNodeValue() + { + return new ContainerPathValue(RgbColorMode, Name); + } + + public override string Name + { + get { return RgbColorMode.ToString(); } + } + + public override IEnumerable GetNodeChildren(IProviderContext providerContext) + { + return new XTermPalette().Select(color => new RgbColorItem(color, RgbColorMode)); + } + } +} diff --git a/Source/Assembly/Provider/RgbColor/RgbColorItem.cs b/Source/Assembly/Provider/RgbColor/RgbColorItem.cs index b6bd3cd..177d090 100644 --- a/Source/Assembly/Provider/RgbColor/RgbColorItem.cs +++ b/Source/Assembly/Provider/RgbColor/RgbColorItem.cs @@ -14,82 +14,9 @@ namespace PoshCode.Pansies.Provider { enum RgbColorMode { Foreground, Background } - class RgbColorContainer : PathNodeBase - { - private RgbColorMode RgbColorMode; - - public RgbColorContainer(RgbColorMode mode) - { - RgbColorMode = mode; - } - - public override IPathValue GetNodeValue() - { - return new ContainerPathValue(RgbColorMode, Name); - } - - public override string Name - { - get { return RgbColorMode.ToString(); } - } - - public override IEnumerable GetNodeChildren(CodeOwls.PowerShell.Provider.PathNodeProcessors.IProviderContext providerContext) - { - return new XTermPalette().Select(color => new RgbColorItem(color, RgbColorMode)); - } - } - - class ColorContentReader : IContentReader - { - private string Content; - - public ColorContentReader(RgbColor color, RgbColorMode mode) - { - if (color == null) - { - if (mode == RgbColorMode.Background) - { - Content = "\u001B[49m"; - } - else - { - Content = "\u001B[39m"; - } - } - else - { - Content = color.ToVtEscapeSequence(mode == RgbColorMode.Background); - } - } - - public void Close() - { - } - - public void Dispose() - { - } - - public IList Read(long readCount) - { - if (Content != null) { - var result = new[] { Content }; - Content = null; - return result; - } - else return null; - } - - public void Seek(long offset, SeekOrigin origin) - { - throw new NotImplementedException(); - } - } - - class RgbColorItem : PathNodeBase, IGetItemContent { - private readonly String name; + private readonly string name; private RgbColor Color; private RgbColorMode RgbColorMode; diff --git a/Source/Assembly/Provider/RgbColor/RgbColorProvider.cs b/Source/Assembly/Provider/RgbColor/RgbColorProvider.cs index b8b11c1..911335f 100644 --- a/Source/Assembly/Provider/RgbColor/RgbColorProvider.cs +++ b/Source/Assembly/Provider/RgbColor/RgbColorProvider.cs @@ -11,11 +11,11 @@ namespace PoshCode.Pansies.Provider [CmdletProvider("RgbColor", ProviderCapabilities.None)] public class RgbColorProvider : CodeOwls.PowerShell.Provider.Provider { - /// - /// a required P2F override - /// - /// supplies P2F with the path processor for this provider - /// + /// + /// a required P2F override + /// + /// supplies P2F with the path processor for this provider + /// protected override CodeOwls.PowerShell.Paths.Processors.IPathResolver PathResolver { get { return new RgbColorResolver(); } @@ -29,10 +29,10 @@ protected override Collection InitializeDefaultDrives() return new Collection { new RgbColorDrive( - new PSDriveInfo( "Fg", ProviderInfo, "RgbColor::Foreground:" + System.IO.Path.DirectorySeparatorChar, "Foreground Colors", null ) + new PSDriveInfo( "Fg", ProviderInfo, "RgbColor::Foreground:" + System.IO.Path.DirectorySeparatorChar, "Foreground Colors", null, "Fg:" ) ), new RgbColorDrive( - new PSDriveInfo( "Bg", ProviderInfo, "RgbColor::Background:" + System.IO.Path.DirectorySeparatorChar, "Background Colors", null ) + new PSDriveInfo( "Bg", ProviderInfo, "RgbColor::Background:" + System.IO.Path.DirectorySeparatorChar, "Background Colors", null, "Bg:" ) ) }; } diff --git a/Source/Assembly/Provider/RgbColor/RgbColorReader.cs b/Source/Assembly/Provider/RgbColor/RgbColorReader.cs new file mode 100644 index 0000000..26f9f98 --- /dev/null +++ b/Source/Assembly/Provider/RgbColor/RgbColorReader.cs @@ -0,0 +1,62 @@ +using CodeOwls.PowerShell.Paths; +using CodeOwls.PowerShell.Provider.PathNodeProcessors; +using CodeOwls.PowerShell.Provider.PathNodes; +using PoshCode.Pansies.Palettes; +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Management.Automation.Provider; +using System.Text; + +namespace PoshCode.Pansies.Provider +{ + class ColorContentReader : IContentReader + { + private string Content; + + public ColorContentReader(RgbColor color, RgbColorMode mode) + { + if (color == null) + { + if (mode == RgbColorMode.Background) + { + Content = "\u001B[49m"; + } + else + { + Content = "\u001B[39m"; + } + } + else + { + Content = color.ToVtEscapeSequence(mode == RgbColorMode.Background); + } + } + + public void Close() + { + } + + public void Dispose() + { + } + + public IList Read(long readCount) + { + if (Content != null) + { + var result = new[] { Content }; + Content = null; + return result; + } + else return null; + } + + public void Seek(long offset, SeekOrigin origin) + { + throw new NotImplementedException(); + } + } +}