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); }
protected override void run(Instance instance, string args) { Console.WriteLine(instance.FindTypes(args)); }