From e0ef76b842e7c67409363e61cb17c386a4fcf6b5 Mon Sep 17 00:00:00 2001 From: Nathan Gill Date: Wed, 26 Feb 2025 08:44:11 +0000 Subject: [PATCH 1/3] Added "sq" prefixed units as aliases for "^2" suffix. --- .../InputInterpreter.cs | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/InputInterpreter.cs b/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/InputInterpreter.cs index 1af8b11ea39b..c2653cf66232 100644 --- a/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/InputInterpreter.cs +++ b/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/InputInterpreter.cs @@ -259,6 +259,86 @@ public static void OunceHandler(ref string[] split, CultureInfo culture) } } + /// + /// Convert between 'sq' notation and '^2' notation for square units. + /// + public static void SquareHandler(ref string[] split, CultureInfo culture) + { + switch (split[1].ToLower(culture)) + { + case "sqcm": + split[1] = "cm^2"; + break; + case "sqdm": + split[1] = "dm^2"; + break; + case "sqft": + split[1] = "ft^2"; + break; + case "sqin": + split[1] = "in^2"; + break; + case "sqkm": + split[1] = "km^2"; + break; + case "sqm": + split[1] = "m^2"; + break; + case "sqmi": + split[1] = "mi^2"; + break; + case "sqmm": + split[1] = "mm^2"; + break; + case "sqnmi": + split[1] = "nmi^2"; + break; + case "sqyd": + split[1] = "yd^2"; + break; + case "squm": + split[1] = "µm^2"; + break; + } + + switch (split[3].ToLower(culture)) + { + case "sqcm": + split[3] = "cm^2"; + break; + case "sqdm": + split[3] = "dm^2"; + break; + case "sqft": + split[3] = "ft^2"; + break; + case "sqin": + split[3] = "in^2"; + break; + case "sqkm": + split[3] = "km^2"; + break; + case "sqm": + split[3] = "m^2"; + break; + case "sqmi": + split[3] = "mi^2"; + break; + case "sqmm": + split[3] = "mm^2"; + break; + case "sqnmi": + split[3] = "nmi^2"; + break; + case "sqyd": + split[3] = "yd^2"; + break; + case "sqµm": + split[3] = "µm^2"; + break; + } + } + public static ConvertModel Parse(Query query) { string[] split = query.Search.Split(' '); @@ -279,6 +359,7 @@ public static ConvertModel Parse(Query query) InputInterpreter.KPHHandler(ref split); InputInterpreter.GallonHandler(ref split, CultureInfo.CurrentCulture); InputInterpreter.OunceHandler(ref split, CultureInfo.CurrentCulture); + InputInterpreter.SquareHandler(ref split, CultureInfo.CurrentCulture); if (!double.TryParse(split[0], out double value)) { return null; From 54ddde85855dbf2be9cdea80ad744d8578a808c3 Mon Sep 17 00:00:00 2001 From: Nathan Gill Date: Wed, 26 Feb 2025 10:26:12 +0000 Subject: [PATCH 2/3] =?UTF-8?q?Replaced=20"^2"=20suffix=20for=20converted?= =?UTF-8?q?=20inputs=20with=20"=C2=B2".?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InputInterpreter.cs | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/InputInterpreter.cs b/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/InputInterpreter.cs index c2653cf66232..3976e846a9b1 100644 --- a/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/InputInterpreter.cs +++ b/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/InputInterpreter.cs @@ -267,74 +267,74 @@ public static void SquareHandler(ref string[] split, CultureInfo culture) switch (split[1].ToLower(culture)) { case "sqcm": - split[1] = "cm^2"; + split[1] = "cm²"; break; case "sqdm": - split[1] = "dm^2"; + split[1] = "dm²"; break; case "sqft": - split[1] = "ft^2"; + split[1] = "ft²"; break; case "sqin": - split[1] = "in^2"; + split[1] = "in²"; break; case "sqkm": - split[1] = "km^2"; + split[1] = "km²"; break; case "sqm": - split[1] = "m^2"; + split[1] = "m²"; break; case "sqmi": - split[1] = "mi^2"; + split[1] = "mi²"; break; case "sqmm": - split[1] = "mm^2"; + split[1] = "mm²"; break; case "sqnmi": - split[1] = "nmi^2"; + split[1] = "nmi²"; break; case "sqyd": - split[1] = "yd^2"; + split[1] = "yd²"; break; - case "squm": - split[1] = "µm^2"; + case "sqµm": + split[1] = "µm²"; break; } switch (split[3].ToLower(culture)) { case "sqcm": - split[3] = "cm^2"; + split[3] = "cm²"; break; case "sqdm": - split[3] = "dm^2"; + split[3] = "dm²"; break; case "sqft": - split[3] = "ft^2"; + split[3] = "ft²"; break; case "sqin": - split[3] = "in^2"; + split[3] = "in²"; break; case "sqkm": - split[3] = "km^2"; + split[3] = "km²"; break; case "sqm": - split[3] = "m^2"; + split[3] = "m²"; break; case "sqmi": - split[3] = "mi^2"; + split[3] = "mi²"; break; case "sqmm": - split[3] = "mm^2"; + split[3] = "mm²"; break; case "sqnmi": - split[3] = "nmi^2"; + split[3] = "nmi²"; break; case "sqyd": - split[3] = "yd^2"; + split[3] = "yd²"; break; case "sqµm": - split[3] = "µm^2"; + split[3] = "µm²"; break; } } From dd046ac957b1e6f57e39e2c3e44f3e435f44c4e8 Mon Sep 17 00:00:00 2001 From: Nathan Gill Date: Wed, 26 Feb 2025 17:13:10 +0000 Subject: [PATCH 3/3] Updated expect.txt to pass spell check. --- .github/actions/spell-check/expect.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/actions/spell-check/expect.txt b/.github/actions/spell-check/expect.txt index 4771acfefc24..40eaed173700 100644 --- a/.github/actions/spell-check/expect.txt +++ b/.github/actions/spell-check/expect.txt @@ -990,6 +990,7 @@ NIF NLog NLSTEXT NMAKE +nmi NNN NOACTIVATE NOAGGREGATION @@ -1493,6 +1494,16 @@ spsi spsia spsrm spsv +sqcm +sqdm +sqft +sqin +sqkm +sqm +sqmi +sqmm +sqnmi +sqyd SRCAND SRCCOPY SRCERASE