Ejemplo n.º 1
0
        /// <summary>
        /// Returns collection of files whose contents contains search string
        /// </summary>
        public IEnumerable <FileInfo> StringMatches(string searchString, CancellationToken token)
        {
            foreach (var file in _files)
            {
                if (token.IsCancellationRequested)
                {
                    break;
                }

                EncodingDetector.DetectTextEncoding(file.FullName, out var text);

                if (text.Contains(searchString))
                {
                    yield return(file);
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Returns collection of files whose contents match the regular expression
        /// </summary>
        /// <param name="pattern"></param>
        /// <param name="token"></param>
        /// <returns></returns>
        public IEnumerable <FileInfo> RegexMatches(string pattern, CancellationToken token)
        {
            foreach (var file in _files)
            {
                if (token.IsCancellationRequested)
                {
                    break;
                }

                EncodingDetector.DetectTextEncoding(file.FullName, out var text);

                var regex = new Regex(pattern);
                if (regex.IsMatch(text))
                {
                    yield return(file);
                }
            }
        }