public string Save(IVsSettingsWriter writer) { var key = ContentType ?? DefaultThemeName; var subkeys = string.Join(";", LineFormats.Values .Where(item => item.ShouldSerialize()) .Select(item => key + "." + item.FormatIndexName)); writer.WriteSettingString(key, subkeys); Behavior.Save(writer, key); writer.WriteSettingString("CaretHandler", CaretHandler ?? DefaultCaretHandler); foreach (var item in LineFormats.Values.Where(item => item.ShouldSerialize())) { var subkeyName = key + "." + item.FormatIndexName; writer.WriteSettingString(subkeyName, ""); var values = item.ToInvariantStrings(); writer.WriteSettingAttribute(subkeyName, "Keys", string.Join(";", values.Keys)); foreach (var kv in values) { writer.WriteSettingAttribute(subkeyName, kv.Key, kv.Value); } } return(key); }
internal void Save(IVsSettingsWriter writer, string key) { writer.WriteSettingAttribute(key, "ExtendInwardsOnly", ExtendInwardsOnly.ToString()); writer.WriteSettingAttribute(key, "VisibleAligned", VisibleAligned.ToString()); writer.WriteSettingAttribute(key, "VisibleUnaligned", VisibleUnaligned.ToString()); writer.WriteSettingAttribute(key, "VisibleAtTextEnd", VisibleAtTextEnd.ToString()); writer.WriteSettingAttribute(key, "VisibleEmpty", VisibleEmpty.ToString()); writer.WriteSettingAttribute(key, "VisibleEmptyAtEnd", VisibleEmptyAtEnd.ToString()); writer.WriteSettingAttribute(key, "Disabled", Disabled.ToString()); }