public override void RenderToStreamForUnitTests([NotNull] GlobalContext globalContext, [NotNull, ItemNotNull] IEnumerable <Dependency> dependencies, Stream stream, string option) { using (var sw = new TargetStreamWriter(stream)) { string[] options = (option ?? "").Split(' '); WritePaths(dependencies, globalContext.IgnoreCase, new[] { MarkerMatch.CreateMatcher(options[0], globalContext.IgnoreCase) }, sw, showItemMarkers: options.Contains("-sm")); } }
public void RemoveMarkers([CanBeNull] IEnumerable <string> markerPatterns, bool ignoreCase) { if (markerPatterns != null && _markersOrNull != null) { IEnumerable <IMatcher> matchers = markerPatterns.Select(p => MarkerMatch.CreateMatcher(p, ignoreCase)).ToArray(); string[] keys = _markersOrNull.Keys.Where(m => matchers.Any(ma => ma.Matches(m, null) != null)).ToArray(); foreach (var k in keys) { _markersOrNull[k] = 0; } } }
public static OrderSupport Create(string pattern, bool ignoreCase) { int field; if (int.TryParse(pattern, out field)) { return(new OrderSupport(item => item.GetCasedValue(field))); } else { IMatcher[] orderMatcher = { MarkerMatch.CreateMatcher(pattern, ignoreCase) }; return(new OrderSupport(item => item.MarkerSet.MatchingMarkers(orderMatcher).Sum(m => item.MarkerSet.GetValue(m, ignoreCase)))); } }
protected override Options CreateRenderOptions(GlobalContext globalContext, string options) { var result = new Options(); Option.Parse(globalContext, options, PathMarkerOption.Action((args, j) => { result.MarkerMatchers.Add(MarkerMatch.CreateMatcher(Option.ExtractRequiredOptionValue(args, ref j, "Missing item match"), globalContext.IgnoreCase)); return(j); }), ShowItemMarkersOption.Action((args, j) => { result.ShowItemMarkers = true; return(j); })); return(result); }
public static bool MarkersContain(this IWithMarkerSet d, string s) { CountPattern <IMatcher> .Eval eval = MarkerMatch.CreateEval(s + ">0", ignoreCase: false); return(d.MarkerSet.IsMatch(new[] { eval })); }
public bool IsMarkerMatch(params string[] patterns) { return(MarkerSet.IsMatch(patterns.Select(p => MarkerMatch.CreateEval(p, false)))); }