Example #1
0
        /// <summary>
        /// Opens the find symbols dialog with a list of results.  This is done by requesting
        /// that VS does a search against our library GUID.  Our library then responds to
        /// that request by extracting the prvoided symbol list out and using that for the
        /// search results.
        /// </summary>
        private static void ShowFindSymbolsDialog(ExpressionAnalysis provider, SymbolList symbols)
        {
            // ensure our library is loaded so find all references will go to our library
            Package.GetGlobalService(typeof(IRubyLibraryManager));

            var findSym = (IVsFindSymbol)IronRubyToolsPackage.GetGlobalService(typeof(SVsObjectSearch));
            VSOBSEARCHCRITERIA2 searchCriteria = new VSOBSEARCHCRITERIA2();

            searchCriteria.eSrchType   = VSOBSEARCHTYPE.SO_ENTIREWORD;
            searchCriteria.pIVsNavInfo = symbols;
            searchCriteria.grfOptions  = (uint)_VSOBSEARCHOPTIONS2.VSOBSO_LISTREFERENCES;
            searchCriteria.szName      = provider.Expression;

            Guid guid = Guid.Empty;

            ErrorHandler.ThrowOnFailure(findSym.DoSearch(new Guid(CommonConstants.LibraryGuid), new VSOBSEARCHCRITERIA2[] { searchCriteria }));
        }
Example #2
0
 public RubyLibraryManager(IronRubyToolsPackage/*!*/ package)
     : base(package)
 {
     _package = package;
 }
Example #3
0
 public RubyLibraryManager(IronRubyToolsPackage /*!*/ package)
     : base(package)
 {
     _package = package;
 }