/// <summary> /// 克隆 /// </summary> /// <param name="filePath"></param> /// <returns></returns> public IgnoreFile Clone(string filePath = null) { var clone = new IgnoreFile() { _filePath = filePath }; _rules.ForEach(r => clone.AddRule(r.OriginalPattern, r.IgnoreOptions)); return(clone); }
/// <summary> /// 添加自定义忽略规则 /// </summary> public void AddCustomIgnoreRules(string basePath, IEnumerable <string> rules) { var ruleList = rules.Distinct().ToList(); if (ruleList.Any()) { var filePath = Path.Combine(basePath, $".ignore_{Name.ToSafeFileName()}"); var ignoreFile = new IgnoreFile(ruleList, filePath: filePath, Options); IgnoreFiles.Add(ignoreFile); } }
/// <summary> /// 添加 <see cref="IgnoreFile"/> /// </summary> /// <param name="filePath"></param> /// <param name="fileStream">文件路径</param> public void AddIgnoreFile(string filePath, Stream fileStream) { using (var stream = new StreamReader(fileStream)) { var ruleList = new List <string>(); string rule; while (null != (rule = stream.ReadLine())) { ruleList.Add(rule); } var ignoreFile = new IgnoreFile(ruleList, filePath: filePath, Options); IgnoreFiles.Add(ignoreFile); } }
/// <summary> /// 添加 <see cref="IgnoreFile"/> /// </summary> /// <param name="filePath">文件路径</param> public void AddIgnoreFile(string filePath) { var ignoreFile = new IgnoreFile(filePath, Options); IgnoreFiles.Add(ignoreFile); }
/// <summary> /// ctor /// </summary> /// <param name="matchedPath"></param> /// <param name="ignoreFile"></param> /// <param name="rule"></param> public IgnoredDetails(string matchedPath, IgnoreFile ignoreFile, IgnoreRule rule) { MatchedPath = matchedPath; IgnoreFile = ignoreFile; Rule = rule; }