private void ProcessSourceDir(FunctionFileApp app, string dir, bool root) { try { foreach (var fileName in Directory.GetFiles(dir, "*.f*")) { if (FunctionFilePattern.IsMatch(fileName)) _filesToProcess.Enqueue(fileName); } foreach (var subDir in Directory.GetDirectories(dir)) { _dirsToProcess.Enqueue(new ProcessDir { dir = subDir, root = false }); } if (root) app.WatchDir(dir); } catch (Exception ex) { Log.WriteError(ex, "Exception when scanning directory '{0}' for functions.", dir); } }