diff --git a/src/modules/previewpane/MonacoPreviewHandler/FileHandler.cs b/src/modules/previewpane/MonacoPreviewHandler/FileHandler.cs index b51e4f680d..b9522571f8 100644 --- a/src/modules/previewpane/MonacoPreviewHandler/FileHandler.cs +++ b/src/modules/previewpane/MonacoPreviewHandler/FileHandler.cs @@ -3,6 +3,7 @@ // See the LICENSE file in the project root for more information. using System; +using System.Globalization; using System.IO; using System.Linq; using System.Text.Json; @@ -18,9 +19,16 @@ namespace Microsoft.PowerToys.PreviewHandler.Monaco /// The monaco language id public static string GetLanguage(string fileExtension) { + fileExtension = fileExtension.ToLower(CultureInfo.CurrentCulture); try { - JsonDocument languageListDocument = JsonDocument.Parse(File.ReadAllText(Settings.AssemblyDirectory + "\\monaco_languages.json")); + JsonDocument languageListDocument; + using (StreamReader jsonFileReader = new StreamReader(new FileStream(Settings.AssemblyDirectory + "\\monaco_languages.json", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))) + { + languageListDocument = JsonDocument.Parse(jsonFileReader.ReadToEnd()); + jsonFileReader.Close(); + } + JsonElement languageList = languageListDocument.RootElement.GetProperty("list"); foreach (JsonElement e in languageList.EnumerateArray()) {