internal void Update(SeparatorTag separatorTag) { var value = separatorTag.Content.Trim(); if (value == "") { return; } var separators = PackageBase.GetDialogPage <SeparatorsDialogPage>().Separators; var separator = separators.FirstOrDefault(x => x.Matches == value); _rect.Fill = FrozenBrush(separator.Color); _rect.Height = separator?.Height ?? 0; _rect.Width = 200; }
//--- private static string SeparatorRegex() { const string COMMENT_PREFIX = "//"; const string REGEX_OR = "|"; var separators = PackageBase.GetDialogPage <SeparatorsDialogPage>().Separators; var keys = separators .Where(x => x.Matches.StartsWith(COMMENT_PREFIX, CurrentCultureIgnoreCase)) .Select(x => Regex.Escape(x.Matches.TrimPrefix(COMMENT_PREFIX))) .Aggregate(new StringBuilder(), (current, next) => current .Append(REGEX_OR) .Append(next)) .ToString() .TrimPrefix(REGEX_OR); return($"^\\s*//({keys})$"); }