public void UpdateView(TextDocument document, SpanChange spanSource) { UpdateBuffer(document); // Picking a different span: no text change; update span anyway. _tagger.Span = spanSource.GetSpan(); var spanInBuffer = new SnapshotSpan(_textView.TextBuffer.CurrentSnapshot, new Span(_tagger.Span.Start, 0)); _textView.ViewScroller.EnsureSpanVisible(spanInBuffer, EnsureSpanVisibleOptions.None); }
public void UpdateView(TextDocument document, SpanChange spanSource) { var documentText = document.GetTextAsync().Result.ToString(); if (TextView.TextBuffer.CurrentSnapshot.GetText() != documentText) { UpdateBuffer(document, spanSource, out var container, out var documentBackedByTextBuffer); } // Picking a different span: no text change; update span anyway. SpanToShow = spanSource.GetSpan(); var spanInBuffer = new SnapshotSpan(TextView.TextBuffer.CurrentSnapshot, new Span(SpanToShow.Start, 0)); TextView.ViewScroller.EnsureSpanVisible(spanInBuffer, EnsureSpanVisibleOptions.None); Tagger.OnTextBufferChanged(); }
public void UpdateView(TextDocument document, SpanChange spanSource) { var documentText = document.GetTextAsync().Result.ToString(); if (TextView.TextBuffer.CurrentSnapshot.GetText() != documentText) { UpdateBuffer(document, spanSource, out _, out _); } // Picking a different span: no text change; update span anyway. SpanToShow = spanSource.GetSpan(); var spanInBuffer = new SnapshotSpan(TextView.TextBuffer.CurrentSnapshot, new Span(SpanToShow.Start, 0)); TextView.ViewScroller.EnsureSpanVisible(spanInBuffer, EnsureSpanVisibleOptions.None); Tagger.OnTextBufferChanged(); }
private void ApplyDocumentToBuffer(TextDocument document, SpanChange spanSource, out SourceTextContainer container, out TextDocument documentBackedByTextBuffer) { var contentTypeService = document.Project.LanguageServices.GetService<IContentTypeLanguageService>(); var contentType = contentTypeService.GetDefaultContentType(); TextView.TextBuffer.ChangeContentType(contentType, null); var documentText = document.GetTextAsync().Result.ToString(); SpanToShow = spanSource.GetSpan(); using (var edit = TextView.TextBuffer.CreateEdit()) { edit.Replace(new Span(0, TextView.TextBuffer.CurrentSnapshot.Length), documentText); edit.Apply(); } container = TextView.TextBuffer.AsTextContainer(); documentBackedByTextBuffer = document.WithText(container.CurrentText); }
private void ApplyDocumentToBuffer(Document document, SpanChange spanSource, out SourceTextContainer container, out Document documentBackedByTextBuffer) { var contentTypeService = document.Project.LanguageServices.GetService <IContentTypeLanguageService>(); var contentType = contentTypeService.GetDefaultContentType(); TextView.TextBuffer.ChangeContentType(contentType, null); var documentText = document.GetTextAsync().Result.ToString(); SpanToShow = spanSource.GetSpan(); using (var edit = TextView.TextBuffer.CreateEdit()) { edit.Replace(new Span(0, TextView.TextBuffer.CurrentSnapshot.Length), documentText); edit.Apply(); } container = TextView.TextBuffer.AsTextContainer(); documentBackedByTextBuffer = document.WithText(container.CurrentText); }