using System.Text.Json; using System.Text.Json.Serialization; namespace Terminal.Gui; /// Support for in JSON in the form of "Ctrl-X" or "Alt-Shift-F1". public class KeyJsonConverter : JsonConverter { /// public override Key Read (ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { return Key.TryParse (reader.GetString (), out Key key) ? key : Key.Empty; } /// public override void Write (Utf8JsonWriter writer, Key value, JsonSerializerOptions options) { writer.WriteStringValue (value.ToString ()); } }