public Start ( string path, string pattern, Action |
||
path | string | |
pattern | string | |
changeHandler | Action |
|
ignoreDirectories | string | |
리턴 | void |
public void Start(string path, string pattern, Action<Stack<Change>> changeHandler, string[] ignoreDirectories)
{
_watchPath = path;
_patterns = pattern
.Replace("*", "")
.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
_changeHandler = changeHandler;
_ignoreDirectories = new HashSet<string>();
ignoreDirectories.ToList().ForEach(x => _ignoreDirectories.Add(x));
_changeHandlerThread = new Thread(startChangeHandler);
_changeHandlerThread.Start();
start();
_patterns.ToList().ForEach(x => Logger.Write(x));
}
public void Start( string path, ICacheBuilder cache, ICrawlResult crawlReader, PluginLocator pluginLocator, EventEndpoint eventDispatcher) { _cache = cache; _crawlReader = crawlReader; _eventDispatcher = eventDispatcher; _tracker = new FileChangeTracker((x) => { _eventDispatcher.Send( "codemodel raw-filesystem-change-" + x.Type.ToString().ToLower() + " \"" + x.Path + "\""); }); pluginLocator.Locate().ToList() .ForEach(x => { var plugin = new PluginPattern(x); _plugins.Add(plugin); _cache.Plugins.Add( new CachedPlugin(x.GetLanguage(), plugin.Patterns)); }); _tracker.Start(path, getFilter(), handleChanges); }