void UpdateHiddenDocument(bool updateSourceCode = true) { if (!updateSourceCode && hiddenInfo != null) { hiddenInfo.UnderlyingDocument.HiddenParsedDocument = razorDocument.PageInfo.CSharpParsedFile; hiddenInfo.UnderlyingDocument.HiddenCompilation = razorDocument.PageInfo.Compilation; return; } hiddenInfo = new UnderlyingDocumentInfo(); var viewContent = new HiddenTextEditorViewContent(); viewContent.Project = Document.Project; viewContent.ContentName = "Generated.cs"; // Use a name with .cs extension to get csharp ambience viewContent.Text = razorDocument.PageInfo.CSharpCode; var workbenchWindow = new HiddenWorkbenchWindow(); workbenchWindow.ViewContent = viewContent; hiddenInfo.UnderlyingDocument = new UnderlyingDocument(workbenchWindow) { HiddenParsedDocument = razorDocument.PageInfo.CSharpParsedFile, HiddenCompilation = razorDocument.PageInfo.Compilation }; currentMappings = razorDocument.PageInfo.GeneratorResults.DesignTimeLineMappings; codeFragment = null; }
void UpdateHiddenDocument(bool updateSourceCode = true) { if (!updateSourceCode && hiddenInfo != null) { hiddenInfo.UnderlyingDocument.HiddenParsedDocument = razorDocument.PageInfo.ParsedDocument; return; } else if (updateSourceCode && hiddenInfo != null) { hiddenInfo.UnderlyingDocument.Editor.Text = razorDocument.PageInfo.CSharpCode; hiddenInfo.UnderlyingDocument.HiddenParsedDocument = razorDocument.PageInfo.ParsedDocument; hiddenInfo.UnderlyingDocument.HiddenAnalysisDocument = razorDocument.PageInfo.AnalysisDocument; currentMappings = razorDocument.PageInfo.GeneratorResults.DesignTimeLineMappings; codeFragment = null; return; } hiddenInfo = new UnderlyingDocumentInfo(); var viewContent = new HiddenTextEditorViewContent(); viewContent.Project = DocumentContext.Project; viewContent.ContentName = "Generated.cs"; // Use a name with .cs extension to get csharp ambience viewContent.Text = razorDocument.PageInfo.CSharpCode; var workbenchWindow = new HiddenWorkbenchWindow(); workbenchWindow.ViewContent = viewContent; hiddenInfo.UnderlyingDocument = new UnderlyingDocument(workbenchWindow) { HiddenParsedDocument = razorDocument.PageInfo.ParsedDocument, HiddenAnalysisDocument = razorDocument.PageInfo.AnalysisDocument }; // completion window needs this Gtk.Widget editor = hiddenInfo.UnderlyingDocument.Editor; editor.Parent = ((Gtk.Widget)Editor).Parent; currentMappings = razorDocument.PageInfo.GeneratorResults.DesignTimeLineMappings; codeFragment = null; }