public void DeniesShouldDenyTheGivenFilenames() { _gitignore.Denies("test.swp").Should().BeTrue(); _gitignore.Denies("node_modules/wat.js").Should().BeTrue(); _gitignore.Denies("foo/bar.wat").Should().BeTrue(); _gitignoreNoNegatives.Denies("node_modules/wat.js").Should().BeTrue(); }
private static void InternalListIgnoredFiles(GitIgnoreParser ignoreParser) { if (ignoreParser == null) { ColoredConsole.Error.WriteLine("No .funcignore file"); return; } foreach (var file in GetFiles(Environment.CurrentDirectory).Select(f => f.Replace(Environment.CurrentDirectory, "").Trim(Path.DirectorySeparatorChar).Replace("\\", "/"))) { if (ignoreParser.Denies(file)) { ColoredConsole.WriteLine(file); } } }
public static IEnumerable <string> GetLocalFiles(string path, GitIgnoreParser ignoreParser = null, bool returnIgnored = false) { var ignoredDirectories = new[] { ".git", ".vscode" }; var ignoredFiles = new[] { ".funcignore", ".gitignore", "appsettings.json", "local.settings.json", "project.lock.json" }; foreach (var file in FileSystemHelpers.GetFiles(path, ignoredDirectories, ignoredFiles)) { if (preCondition(file)) { yield return(file); } } bool preCondition(string file) { var fileName = file.Replace(path, string.Empty).Trim(Path.DirectorySeparatorChar).Replace("\\", "/"); return((returnIgnored ? ignoreParser?.Denies(fileName) : ignoreParser?.Accepts(fileName)) ?? true); } }