Exemple #1
0
        public int GetTextViewFilter(IVsIntellisenseHost pISenseHost, IOleCommandTarget pNextCmdTarget, out IVsTextViewFilter pTextViewFilter)
        {
            IVsTextLines buffer;

            ErrorHandler.ThrowOnFailure(bufferCoordinator.GetSecondaryBuffer(out buffer));
            bool doOutlining = LanguageService.Preferences.AutoOutlining;

            LanguageService.Preferences.AutoOutlining = false;
            FoxProSource source = LanguageService.CreateSource(buffer) as FoxProSource;

            LanguageService.Preferences.AutoOutlining = doOutlining;
            CodeWindowManager windowMgr = LanguageService.CreateCodeWindowManager(null, source);

            language.AddCodeWindowManager(windowMgr);
            TextViewWrapper view = new TextViewWrapper(languageHost, pISenseHost, bufferCoordinator, pNextCmdTarget);

            windowMgr.OnNewView(view);
            language.AddSpecialSource(source, view);
            pTextViewFilter = view.InstalledFilter;
            FoxProViewFilter FoxProFilter = pTextViewFilter as FoxProViewFilter;

            if (null != FoxProFilter)
            {
                FoxProFilter.BufferCoordinator = this.bufferCoordinator;
            }
            return(VSConstants.S_OK);
        }
Exemple #2
0
        public override AuthoringScope ParseSource(ParseRequest req)
        {
            if (null == req)
            {
                throw new ArgumentNullException("req");
            }
            Debug.Print("ParseSource at ({0}:{1}), reason {2}", req.Line, req.Col, req.Reason);
            FoxProSource source = null;

            if (specialSources.TryGetValue(req.View, out source) && (null != source.ScopeCreator))
            {
                return(source.ScopeCreator(req));
            }
            FoxProSink sink = new FoxProSink(req.Sink);

            return(new FoxProScope(modules.AnalyzeModule(sink, req.FileName, req.Text), this));
        }
Exemple #3
0
 public void AddSpecialSource(FoxProSource source, IVsTextView view)
 {
     specialSources.Add(view, source);
 }