示例#1
0
        private void OnTextViewMouseHover(object sender, MouseHoverEventArgs ee)
        {
            ITextBuffer buff = null;
            //find the mouse position by mapping down to the subject buffer
            SnapshotPoint?point = m_textView.BufferGraph.MapDownToFirstMatch
                                      (new SnapshotPoint(m_textView.TextSnapshot, ee.Position),
                                      PointTrackingMode.Positive,
                                      snapshot => m_subjectBuffers.Contains(buff = snapshot.TextBuffer),
                                      PositionAffinity.Predecessor);

            if (point != null)
            {
                ITrackingPoint triggerPoint = point.Value.Snapshot.CreateTrackingPoint(point.Value.Position,
                                                                                       PointTrackingMode.Positive);

                EnvDTE.DTE      dte = SQVSUtils.GetService <EnvDTE.DTE>();
                EnvDTE.Debugger dbg = dte.Debugger as EnvDTE.Debugger;

                if (dbg != null && dte.Debugger.CurrentMode == dbgDebugMode.dbgBreakMode)
                {
                    string filename = SQLanguageServiceEX.GetFileName(buff);

                    SQProjectFileNode node = _languageService.GetNode(filename);
                    SQVSUtils.CreateDataTipViewFilter(_serviceProvider, node);
                }
                else if (!m_provider.QuickInfoBroker.IsQuickInfoActive(m_textView))
                {
                    //m_session = m_provider.QuickInfoBroker.TriggerQuickInfo(m_textView, triggerPoint, true);
                    /*Setting DEBUG_PROPERTY_INFO.bstrFullName enables the button. I think it uses that name to persist the data tip to a file. It sure would be nice if the documentation gets enhanced one of these days!*/
                }
            }
        }
示例#2
0
        protected override void InitializeProjectProperties()
        {
            base.InitializeProjectProperties();
            SQLanguageServiceEX objectLibrary = (SQLanguageServiceEX)ProjectPackage.GetGlobalService(typeof(ISQLanguageService));

            objectLibrary.RegisterProjectNode(this);
        }
 public SQOutliningTagger(ITextBuffer buffer, SQLanguageServiceEX service)
 {
     this._languangeService = service;
     this._buffer           = buffer;
     _buffer.Changed       += _buffer_Changed;
     filepath = SQLanguageServiceEX.GetFileName(buffer);
 }
示例#4
0
 public SQCompletionSource(IGlyphService glyphService, ITextStructureNavigator navigator, ITextBuffer buffer, SQLanguageServiceEX service)
 {
     _glyphService    = glyphService;
     _languageService = service;
     //lexer = new Squirrel3Lexer();
     _buffer    = buffer;
     _navigator = navigator;
 }
 public SQErrorTagger(ITextView view, ITextBuffer sourceBuffer, ITextStructureNavigator textStructureNavigator, SQLanguageServiceEX service)
 {
     _buffer                     = sourceBuffer;
     _languangeService           = service;
     filepath                    = SQLanguageServiceEX.GetFileName(_buffer);
     _buffer.Changed            -= _buffer_Changed;
     _buffer.ChangedLowPriority += _buffer_Changed;
 }
示例#6
0
        public override int InitializeForOuter(string filename, string location, string name, uint flags, ref Guid iid, out IntPtr projectPointer, out int canceled)
        {
            int result = base.InitializeForOuter(filename, location, name, flags, ref iid, out projectPointer, out canceled);
            SQLanguageServiceEX objectLibrary = (SQLanguageServiceEX)ProjectPackage.GetGlobalService(typeof(ISQLanguageService));

            objectLibrary.RegisterProjectNode(this);
            return(result);
        }
        public override int InitializeForOuter(string filename, string location, string name, uint flags, ref Guid iid, out IntPtr projectPointer, out int canceled)
        {
            int result = base.InitializeForOuter(filename, location, name, flags, ref iid, out projectPointer, out canceled);
            //RegisterUserProperty(GeneralPropertyPageTags.IntellisenseEnabled.ToString());
            SQLanguageServiceEX objectLibrary = (SQLanguageServiceEX)ProjectPackage.GetGlobalService(typeof(ISQLanguageService));

            return(result);
        }
示例#8
0
 internal SQIntellisenseController(IServiceProvider serviceProvider, ITextView textView, IList <ITextBuffer> subjectBuffers, SQIntellisenseControllerProvider provider)
 {
     m_textView             = textView;
     m_subjectBuffers       = subjectBuffers;
     m_provider             = provider;
     _serviceProvider       = serviceProvider;
     m_textView.MouseHover += this.OnTextViewMouseHover;
     _languageService       = SQVSUtils.GetService <ISQLanguageService>() as SQLanguageServiceEX;
 }
        public override void OnUserPropertyLoad(string propertyname, string value)
        {
            SQLanguageServiceEX languageservice = (SQLanguageServiceEX)ProjectPackage.GetGlobalService(typeof(ISQLanguageService));

            if (propertyname == GeneralPropertyPageTags.IntellisenseEnabled.ToString())
            {
                languageservice.IntellisenseEnabled = value.ToLower() == "true";
            }
        }
示例#10
0
        private void SQVSProjectNode_OnProjectPropertyChanged(object sender, ProjectPropertyChangedArgs e)
        {
            if (e.NewValue != null)
            {
                SQLanguageServiceEX languageservice = (SQLanguageServiceEX)ProjectPackage.GetGlobalService(typeof(ISQLanguageService));

                /*if (e.PropertyName == GeneralPropertyPageTags.IntellisenseEnabled.ToString())
                 *  languageservice.IntellisenseEnabled = SQVSUtils.GetProjectPropertyBool(this, GeneralPropertyPageTags.IntellisenseEnabled.ToString());
                 * else if (e.PropertyName == GeneralPropertyPageTags.ClassViewEnabled.ToString())
                 *  languageservice.ClassViewEnabled = SQVSUtils.GetProjectPropertyBool(this, GeneralPropertyPageTags.ClassViewEnabled.ToString());*/
            }
        }
示例#11
0
        public override FileNode CreateFileNode(ProjectElement item)
        {
            SQProjectFileNode node = new SQProjectFileNode(this, item);

            node.OleServiceProvider.AddService(typeof(EnvDTE.Project), new OleServiceProvider.ServiceCreatorCallback(this.CreateServices), false);
            node.OleServiceProvider.AddService(typeof(ProjectItem), node.ServiceCreator, false);
            node.OleServiceProvider.AddService(typeof(VSProject), new OleServiceProvider.ServiceCreatorCallback(this.CreateServices), false);

            SQLanguageServiceEX objectLibrary = (SQLanguageServiceEX)ProjectPackage.GetGlobalService(typeof(ISQLanguageService));

            objectLibrary.RegisterFileNode(node);
            return(node);
        }
示例#12
0
        private object CreateService(IServiceContainer container, Type serviceType)
        {
            if (typeof(ISQLanguageService) == serviceType)
            {
                var lang = new SQLanguageServiceEX(this);
                //lang.SetSite(this);
                return(lang);
            }

            /*else if (typeof(ISquirrelLibraryManager) == serviceType)
             * {
             *  libraryManager = new SquirrelLibraryManager(this);
             *  return libraryManager as ISquirrelLibraryManager;
             * }*/
            return(null);
        }
示例#13
0
        public AttributeScopeTagger(ITextSearchService textSearchService, ITextStructureNavigatorSelectorService textStructureNavigatorSelector, ITextBuffer buffer, SQLanguageServiceEX service, IClassificationTypeRegistryService typeService, IClassifierAggregatorService classifierAggregator)
        {
            if (_attribtag == null)
            {
                _classifierAggregator = classifierAggregator;
                var classificationType = typeService.GetClassificationType(SQAtrributeFormat);
                _attribtag = new ClassificationTag(classificationType);

                classificationType = typeService.GetClassificationType(PredefinedClassificationTypeNames.Comment);
                _commenttag        = new ClassificationTag(classificationType);

                classificationType = typeService.GetClassificationType(PredefinedClassificationTypeNames.String);
                _stringtag         = new ClassificationTag(classificationType);

                classificationType = typeService.GetClassificationType("class name");
                _classtag          = new ClassificationTag(classificationType);

                classificationType = typeService.GetClassificationType("enum name");
                _enumtag           = new ClassificationTag(classificationType);

                classificationType = typeService.GetClassificationType(PredefinedClassificationTypeNames.SymbolReference);
                _subnametag        = new ClassificationTag(classificationType);

                classificationType = typeService.GetClassificationType("number");
                _numberictag       = new ClassificationTag(classificationType);

                classificationType = typeService.GetClassificationType("keyword");
                _keywordtag        = new ClassificationTag(classificationType);
            }

            _languangeService = service;

            _textStructureNavigatorSelector = textStructureNavigatorSelector;
            _buffer            = buffer;
            _textSearchService = textSearchService;

            filepath         = SQLanguageServiceEX.GetFileName(buffer);
            _buffer.Changed -= _buffer_Changed;
            _buffer.Changed += _buffer_Changed;
            ForceNewVersion  = true;
        }
示例#14
0
 public SQQuickInfoSource(SQQuickInfoSourceProvider provider, ITextBuffer subjectBuffer)
 {
     _subjectBuffer   = subjectBuffer;
     _provider        = provider;
     _languageService = SQVSUtils.GetService <ISQLanguageService>() as SQLanguageServiceEX;
 }
 protected override void InitializeProjectProperties()
 {
     base.InitializeProjectProperties();
     SQLanguageServiceEX objectLibrary = (SQLanguageServiceEX)ProjectPackage.GetGlobalService(typeof(ISQLanguageService));
     // RegisterUserProperty(GeneralPropertyPageTags.IntellisenseEnabled.ToString());
 }