ColorRange, double[]) GetDelegateAndData(string option) { string paramString; string rangeString; (option, paramString, rangeString) = CliUtils.SplitArgIntoPieces(option); var range = CliUtils.ParseRange(rangeString); foreach (var batchCliArg in GetInstance().Items) { if (batchCliArg.OptionArgs.Contains(option)) { double[] filterParams = CliUtils.ExtractAndParseDoubleParams(paramString); if (filterParams.Length >= batchCliArg.MinParams) { return(batchCliArg.FilterDelegate, range, filterParams); } } } return(null, null, null); }
/// <summary> /// Parses command line arguments, creates a FilterSet from them and returns it together with /// remaining arguments that should include source and target files /// </summary> /// <param name="args"></param> /// <returns>FilterSet with delegate and parameters, Remaining arguments</returns> public static (FilterChain, string[]) ParseFilterArgs(params string[] args) { return(CliUtils.ParseFilterArgs(args)); }