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 static ContainedLanguageAdapter ForBuffer(ITextBuffer textBuffer) { var retVal = ServiceManager.GetService <ContainedLanguageAdapter>(textBuffer); if (retVal == null) { retVal = new ContainedLanguageAdapter(textBuffer); } return(retVal); }