Example #1
0
        public void OnBlockCreated(ITextBuffer editorBuffer, LanguageProjectionBuffer projectionBuffer)
        {
            WindowHelpers.WaitFor(delegate
            {
                // Make sure we don't set up ContainedLanguages until the buffer is ready
                // When loading lots of Markdown files on solution load, we might need to
                // wait for multiple idle cycles.
                var doc = ServiceManager.GetService <HtmlEditorDocument>(editorBuffer);
                if (doc == null)
                {
                    return(false);
                }
                if (doc.PrimaryView == null)
                {
                    return(false);
                }

                Guid guid = FindGuid();
                if (guid != Guid.Empty)
                {
                    ContainedLanguageAdapter.ForBuffer(editorBuffer).AddIntellisenseProjectLanguage(projectionBuffer, guid);
                }
                return(true);
            });
        }
 public static ContainedLanguageAdapter ForBuffer(ITextBuffer textBuffer)
 {
     var retVal = ServiceManager.GetService<ContainedLanguageAdapter>(textBuffer);
     if (retVal == null)
         retVal = new ContainedLanguageAdapter(textBuffer);
     return retVal;
 }
        public void OnBlockCreated(ITextBuffer editorBuffer, LanguageProjectionBuffer projectionBuffer)
        {
            EventHandler <EventArgs> h = null;

            h = delegate
            {
                // Make sure we don't set up ContainedLanguages until the buffer is ready
                // When loading lots of Markdown files on solution load, we might need to
                // wait for multiple idle cycles.
                var doc = ServiceManager.GetService <HtmlEditorDocument>(editorBuffer);
                if (doc == null)
                {
                    return;
                }
                if (doc.PrimaryView == null)
                {
                    return;
                }

                WebEditor.OnIdle -= h;
                Guid guid = FindGuid();
                if (guid != Guid.Empty)
                {
                    ContainedLanguageAdapter.ForBuffer(editorBuffer).AddIntellisenseProjectLanguage(projectionBuffer, guid);
                }
            };
            WebEditor.OnIdle += h;
        }
 public LanguageBridge(ContainedLanguageAdapter owner, LanguageProjectionBuffer projectionBuffer, IVsContainedLanguageFactory languageFactory, IVsHierarchy hierarchy)
 {
     this.owner           = owner;
     this.languageFactory = languageFactory;
     ProjectionBuffer     = projectionBuffer;
     this.hierarchy       = hierarchy;
     InitContainedLanguage();
 }
 public LanguageBridge(ContainedLanguageAdapter owner, LanguageProjectionBuffer projectionBuffer, IVsContainedLanguageFactory languageFactory, IVsHierarchy hierarchy)
 {
     this.owner = owner;
     this.languageFactory = languageFactory;
     ProjectionBuffer = projectionBuffer;
     this.hierarchy = hierarchy;
     InitContainedLanguage();
 }
        public static ContainedLanguageAdapter ForBuffer(ITextBuffer textBuffer)
        {
            var retVal = ServiceManager.GetService <ContainedLanguageAdapter>(textBuffer);

            if (retVal == null)
            {
                retVal = new ContainedLanguageAdapter(textBuffer);
            }
            return(retVal);
        }