static void Run(ProgramOptions programOptions, IFileInteractionClient target, IRemoteDevLogger logger) { var watcher = new FileWatcher(new FileWatcherConfig { WorkingDirectory = programOptions.WorkingDirectory, MillisecondDelay = programOptions.MillisecondsDelay, ExclusionFilters = ReadGitIgnoreExclusions(programOptions.WorkingDirectory, logger).ToList() }, logger); // Start watching files Console.WriteLine("Starting file monitor"); new RemoteDevWorker(watcher, target, logger).Start(); Console.WriteLine("Monitoring. Press any key to stop."); Console.ReadLine(); }
public RemoteDevWorker(IFileWatcher fileWatcher, IFileInteractionClient target, IRemoteDevLogger logger) { _fileWatcher = fileWatcher ?? throw new ArgumentNullException(nameof(fileWatcher)); _fileClient = target ?? throw new ArgumentNullException(nameof(target)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); }