public void OnCustomData(IDocumentViewerCustomDataContext context) { var data = context.GetData <LineSeparator>(PredefinedCustomDataIds.LineSeparator); var coll = data.Length == 0 ? LineSeparatorCollection.Empty : new LineSeparatorCollection(data); context.AddCustomData(DocumentViewerContentDataIds.LineSeparator, coll); }
public void OnCustomData(IDocumentViewerCustomDataContext context) { var data = context.GetData <CodeBracesRange>(PredefinedCustomDataIds.CodeBracesRange); var coll = data.Length == 0 ? LazyBlockStructureCollection.Empty : new LazyBlockStructureCollection(data); context.AddCustomData(DocumentViewerContentDataIds.BlockStructure, coll); }
public void OnCustomData(IDocumentViewerCustomDataContext context) { SpanDataCollection <ReferenceAndId> result; var data = context.GetData <SpanReference>(PredefinedCustomDataIds.SpanReference); if (data.Length == 0) { result = SpanDataCollection <ReferenceAndId> .Empty; } else { var builder = SpanDataCollectionBuilder <ReferenceAndId> .CreateBuilder(data.Length); int prevEnd = 0; foreach (var d in data) { // The data should already be sorted. We don't support overlaps at the moment. Debug.Assert(prevEnd <= d.Span.Start); if (prevEnd <= d.Span.Start) { builder.Add(new Span(d.Span.Start, d.Span.Length), new ReferenceAndId(d.Reference, d.Id)); prevEnd = d.Span.End; } } result = builder.Create(); } context.AddCustomData(DocumentViewerContentDataIds.SpanReference, result); }
public void OnCustomData(IDocumentViewerCustomDataContext context) { var data = context.GetData <DocumentViewerUIElement>(DocumentViewerUIElementConstants.CustomDataId); var coll = data.Length == 0 ? DocumentViewerUIElementCollection.Empty : new DocumentViewerUIElementCollection(data); context.AddCustomData(DocumentViewerUIElementConstants.ContentDataId, coll); }
public void OnCustomData(IDocumentViewerCustomDataContext context) { var data = context.GetData <MethodDebugInfo>(PredefinedCustomDataIds.DebugInfo); var coll = data.Length == 0 ? emptyCollection : new ReadOnlyCollection <MethodDebugInfo>(data); context.AddCustomData(DocumentViewerContentDataIds.DebugInfo, coll); }
public void OnCustomData(IDocumentViewerCustomDataContext context) { SpanDataCollection<ReferenceAndId> result; var data = context.GetData<SpanReference>(PredefinedCustomDataIds.SpanReference); if (data.Length == 0) result = SpanDataCollection<ReferenceAndId>.Empty; else { var builder = SpanDataCollectionBuilder<ReferenceAndId>.CreateBuilder(data.Length); int prevEnd = 0; foreach (var d in data) { // The data should already be sorted. We don't support overlaps at the moment. Debug.Assert(prevEnd <= d.Span.Start); if (prevEnd <= d.Span.Start) { builder.Add(new Span(d.Span.Start, d.Span.Length), new ReferenceAndId(d.Reference, d.Id)); prevEnd = d.Span.End; } } result = builder.Create(); } context.AddCustomData(DocumentViewerContentDataIds.SpanReference, result); }
public void OnCustomData(IDocumentViewerCustomDataContext context) { var data = context.GetData<CodeBracesRange>(PredefinedCustomDataIds.CodeBracesRange); var coll = data.Length == 0 ? LazyBlockStructureCollection.Empty : new LazyBlockStructureCollection(data); context.AddCustomData(DocumentViewerContentDataIds.BlockStructure, coll); }
public void OnCustomData(IDocumentViewerCustomDataContext context) { var data = context.GetData<MethodDebugInfo>(PredefinedCustomDataIds.DebugInfo); var coll = data.Length == 0 ? emptyCollection : new ReadOnlyCollection<MethodDebugInfo>(data); context.AddCustomData(DocumentViewerContentDataIds.DebugInfo, coll); }
public void OnCustomData(IDocumentViewerCustomDataContext context) { var data = context.GetData<LineSeparator>(PredefinedCustomDataIds.LineSeparator); var coll = data.Length == 0 ? LineSeparatorCollection.Empty : new LineSeparatorCollection(data); context.AddCustomData(DocumentViewerContentDataIds.LineSeparator, coll); }