[PTRun][Terminal]Array settings parsing (#17707)

This commit is contained in:
Davide Giacometti
2022-04-13 16:24:02 +02:00
committed by GitHub
parent a5323b75d9
commit e530968a9a
6 changed files with 117 additions and 10 deletions

View File

@@ -35,15 +35,22 @@ namespace Microsoft.PowerToys.Run.Plugin.WindowsTerminal.Helpers
};
var json = JsonDocument.Parse(settingsJson, options);
JsonElement profilesList;
json.RootElement.TryGetProperty("profiles", out JsonElement profilesElement);
if (profilesElement.ValueKind != JsonValueKind.Object)
if (profilesElement.ValueKind == JsonValueKind.Object)
{
return profiles;
profilesElement.TryGetProperty("list", out profilesList);
if (profilesList.ValueKind != JsonValueKind.Array)
{
return profiles;
}
}
profilesElement.TryGetProperty("list", out JsonElement profilesList);
if (profilesList.ValueKind != JsonValueKind.Array)
else if (profilesElement.ValueKind == JsonValueKind.Array)
{
profilesList = profilesElement;
}
else
{
return profiles;
}

View File

@@ -68,6 +68,6 @@ namespace Microsoft.PowerToys.Run.Plugin.WindowsTerminal.Helpers
var settingsPath = Path.Combine(localAppDataPath, "Packages", p.Id.FamilyName, "LocalState", "settings.json");
yield return new TerminalPackage(aumid, version, p.DisplayName, settingsPath, p.Logo.LocalPath);
}
}
}
}
}