private void consoleSearch(Instance instance, string search) { var result = instance.FindTypes(search); var searchResult = new SearchResult(); var handler = new CrawlHandler(searchResult, (s) => {}); result .Split(new[] { Environment.NewLine }, StringSplitOptions.None) .ToList() .ForEach(x => handler.Handle(x)); for (int i = 0; i < searchResult.Signatures.Count; i++) Console.WriteLine("{0} - {1}", i + 1, searchResult.Signatures[i].Signature); if (searchResult.Signatures.Count == 0) return; var selection = Console.ReadLine(); int number; if (!int.TryParse(selection, out number)) return; if (number < 1 || number > (searchResult.Signatures.Count)) return; var signature = searchResult.Signatures[number - 1]; var editor = _editorEngineFactory.GetInstance(Environment.CurrentDirectory); if (editor == null) return; editor.GoTo(signature.File, signature.Line, signature.Column); }
public void Handle(CrawlHandler cacheHandler) { if (FilesToHandle.Count == 0) return; try { cacheHandler.SetLanguage(Plugin.GetLanguage()); Plugin.Crawl(FilesToHandle, (line) => cacheHandler.Handle(line)); FilesToHandle.Clear(); } catch (Exception ex) { Logger.Write(ex); } }
private static void initPlugins(PluginLocator locator) { var plugins = locator.Locate(); foreach (var plugin in plugins) { try { plugin.Initialize(_path); plugin.GetCrawlFileTypes(); ThreadPool.QueueUserWorkItem( (o) => { try { var currentPlugin = (LanguagePlugin)o; var handler = new CrawlHandler(_cache, (s) => Logger.Write(s)); handler.SetLanguage(currentPlugin.GetLanguage()); currentPlugin.Crawl(new string[] { _path }, (line) => handler.Handle(line)); } catch (Exception ex) { Logger.Write(ex.ToString()); } }, plugin); } catch (Exception ex) { Logger.Write(ex.ToString()); } } Logger.Write("Plugins initialized"); }
public void Handle(CrawlHandler cacheHandler) { if (FilesToHandle.Count == 0) return; cacheHandler.SetLanguage(Plugin.GetLanguage()); foreach (var line in Plugin.Crawl(FilesToHandle)) cacheHandler.Handle(line); FilesToHandle.Clear(); }
public void Handle(CrawlHandler cacheHandler) { if (FilesToHandle.Count == 0) return; cacheHandler.SetLanguage(Plugin.GetLanguage()); Plugin.Crawl(FilesToHandle, (line) => cacheHandler.Handle(line)); FilesToHandle.Clear(); }
private static void initPlugins(PluginLocator locator, CrawlHandler handler) { new Thread(() => { locator.Locate().ToList() .ForEach(x => { try { handler.SetLanguage(x.GetLanguage()); foreach (var line in x.Crawl(new string[] { _path })) handler.Handle(line); } catch (Exception ex) { Logger.Write(ex.ToString()); } }); }).Start(); }