コード例 #1
0
ファイル: Glob.Static.cs プロジェクト: Carbonfrost/f-spec
        internal static IEnumerable <string> FilterDirectory(Glob glob,
                                                             string directory,
                                                             Predicate <string> match,
                                                             GlobController enumerator)
        {
            var items = Enumerable.Empty <string>();
            IEnumerable <string> subItemsStart = new[] { enumerator.ExpandEnvironmentVariables(directory) };

            foreach (SegmentSequence sub in glob._segments)
            {
                var subItems = sub.Enumerate(subItemsStart, enumerator);
                items = items.Concat(subItems);
            }

            return(items
                   .Where(t => match(t))
                   .Distinct());
        }
コード例 #2
0
ファイル: Glob.Static.cs プロジェクト: Carbonfrost/f-spec
        public static Glob Combine(Glob arg1, Glob arg2, Glob arg3)
        {
            if (arg1 == null)
            {
                throw new ArgumentNullException("arg1");
            }

            if (arg2 == null)
            {
                throw new ArgumentNullException("arg2");
            }

            if (arg3 == null)
            {
                throw new ArgumentNullException("arg3");
            }

            return(Combine(arg1, Combine(arg2, arg3)));
        }
コード例 #3
0
ファイル: Glob.Static.cs プロジェクト: Carbonfrost/f-spec
        static Exception _TryParse(string text, GlobController controller, out Glob value)
        {
            text = controller.ExpandEnvironmentVariables(text);

            SegmentSequence[] segments;
            Exception         ex = _TryParse(text, out segments);

            value = null;

            if (ex == null)
            {
                value = new Glob(text, segments);
                return(null);
            }
            else
            {
                return(ex);
            }
        }
コード例 #4
0
ファイル: Glob.Static.cs プロジェクト: Carbonfrost/f-spec
 static Exception _TryParse(string text, out Glob value)
 {
     return(_TryParse(text, new GlobController(), out value));
 }
コード例 #5
0
ファイル: Glob.Static.cs プロジェクト: Carbonfrost/f-spec
 public static bool TryParse(string text, out Glob value)
 {
     return(_TryParse(text, out value) == null);
 }
コード例 #6
0
ファイル: GlobTemplate.cs プロジェクト: Carbonfrost/f-spec
 private GlobTemplate(IEnumerable <string> variables, string glob, string regex)
 {
     _variables = new List <string>(variables);
     _regex     = new Regex(regex);
     _glob      = Glob.Parse(glob);
 }
コード例 #7
0
 public IEnumerable <string> EnumerateFiles(string workingDirectory)
 {
     return(Glob.FilterDirectory(this, workingDirectory ?? _controller.WorkingDirectory, _controller.FileExists, this._controller));
 }
コード例 #8
0
ファイル: GlobTemplate.cs プロジェクト: Carbonfrost/f-spec
 public override string ToString()
 {
     return(Glob.ToString());
 }
コード例 #9
0
ファイル: GlobTemplate.cs プロジェクト: Carbonfrost/f-spec
 public IEnumerable <GlobTemplateMatch> EnumerateFileSystemEntries(string workingDirectory)
 {
     return(NewMatches(WindowsPathSeparators(Glob.EnumerateFileSystemEntries(workingDirectory))));
 }
コード例 #10
0
ファイル: GlobTemplate.cs プロジェクト: Carbonfrost/f-spec
 public IEnumerable <GlobTemplateMatch> EnumerateFileSystemEntries()
 {
     return(NewMatches(WindowsPathSeparators(Glob.EnumerateFileSystemEntries())));
 }
コード例 #11
0
ファイル: GlobTemplate.cs プロジェクト: Carbonfrost/f-spec
 public IEnumerable <GlobTemplateMatch> EnumerateDirectories()
 {
     return(NewMatches(WindowsPathSeparators(Glob.EnumerateDirectories())));
 }
コード例 #12
0
ファイル: GlobTemplate.cs プロジェクト: Carbonfrost/f-spec
 public bool IsMatch(string input)
 {
     return(Glob.IsMatch(input));
 }