public VsLegacyContainedLanguageHost(HtmlEditorDocument vsDocument, LanguageProjectionBuffer secondaryBuffer, IVsHierarchy hierarchy) { _modernContainedLanguageHost = (ContainedLanguageHost.GetHost(vsDocument.PrimaryView, secondaryBuffer.IProjectionBuffer) as IWebContainedLanguageHost); _secondaryBuffer = secondaryBuffer; this.hierarchy = hierarchy; _vsDocument = vsDocument; _vsDocument.OnDocumentClosing += OnDocumentClosing; secondaryBuffer.MappingsChanging += OnMappingsChanging; secondaryBuffer.MappingsChanged += OnMappingsChanged; }
private void InitContainedLanguage() { IVsTextLines vsTextLines = EnsureBufferCoordinator(); IVsContainedLanguage vsContainedLanguage; languageFactory.GetLanguage(hierarchy, MarkdownCodeProject.FileItemId, _textBufferCoordinator, out vsContainedLanguage); if (vsContainedLanguage == null) { Logger.Log("Markdown: Couldn't get IVsContainedLanguage for " + ProjectionBuffer.IProjectionBuffer.ContentType); return; } Guid langService; vsContainedLanguage.GetLanguageServiceID(out langService); vsTextLines.SetLanguageServiceID(ref langService); containedLanguage = vsContainedLanguage; IVsContainedLanguageHost legacyContainedLanguageHost = GetLegacyContainedLanguageHost(); vsContainedLanguage.SetHost(legacyContainedLanguageHost); _legacyCommandTarget = new LegacyContainedLanguageCommandTarget(); IVsTextViewFilter textViewFilter; _legacyCommandTarget.Create(owner.Document, vsContainedLanguage, _textBufferCoordinator, ProjectionBuffer, out textViewFilter); IWebContainedLanguageHost webContainedLanguageHost = legacyContainedLanguageHost as IWebContainedLanguageHost; webContainedLanguageHost.SetContainedCommandTarget(_legacyCommandTarget.TextView, _legacyCommandTarget.ContainedLanguageTarget); containedLanguage2 = (webContainedLanguageHost as IContainedLanguageHostVs); containedLanguage2.TextViewFilter = textViewFilter; ProjectionBuffer.ResetMappings(); WebEditor.TraceEvent(1005); }
public VsLegacyContainedLanguageHost(HtmlEditorDocument vsDocument, LanguageProjectionBuffer secondaryBuffer, IVsHierarchy hierarchy) { _modernContainedLanguageHost = (ContainedLanguageHost.GetHost(vsDocument.PrimaryView, secondaryBuffer.IProjectionBuffer) as IWebContainedLanguageHost); _secondaryBuffer = secondaryBuffer; this.hierarchy = hierarchy; _vsDocument = vsDocument; _vsDocument.OnDocumentClosing += OnDocumentClosing; secondaryBuffer.MappingsChanging += OnMappingsChanging; secondaryBuffer.MappingsChanged += OnMappingsChanged; }