public TextBuffer(IContentType contentType, string text) { Properties = new PropertyCollection(); this.contentType = contentType ?? throw new ArgumentNullException(nameof(contentType)); currentTextVersion = new TextVersion(this, text?.Length ?? 0, 0, 0); Document = new TextDocument(text); Document.SetOwnerThread(null); }
void CreateNewCurrentSnapshot(IList <ITextChange> changes, int?reiteratedVersionNumber = null, ITextSource afterTextSource = null) { // It's null the first time it's called from the ctor if (changes != null) { currentTextVersion = currentTextVersion.SetChanges(changes, reiteratedVersionNumber); } CurrentSnapshot = new TextSnapshot(afterTextSource ?? Document.CreateSnapshot(), ContentType, this, currentTextVersion); }
public TextBuffer(IContentType contentType, string text) { if (contentType == null) throw new ArgumentNullException(nameof(contentType)); Properties = new PropertyCollection(); this.contentType = contentType; currentTextVersion = new TextVersion(this, text?.Length ?? 0, 0, 0); Document = new TextDocument(text); Document.SetOwnerThread(null); }
void CreateNewCurrentSnapshot(IList <ITextChange>?changes, int?reiteratedVersionNumber = null, ITextSource?afterTextSource = null) { // It's null the first time it's called from the ctor if (changes is not null) { currentTextVersion = currentTextVersion.SetChanges(changes, reiteratedVersionNumber); } var textSource = afterTextSource ?? Document.CreateSnapshot(); var textImage = new TextImage(this, textSource, currentTextVersion.ImageVersion); CurrentSnapshot = new TextSnapshot(textImage, ContentType, this, currentTextVersion); }
public TextVersion SetChanges(IList<ITextChange> changes, int? reiteratedVersionNumber = null) { var normalizedChanges = NormalizedTextChangeCollection.Create(changes); if (reiteratedVersionNumber == null) reiteratedVersionNumber = changes.Count == 0 ? ReiteratedVersionNumber : VersionNumber + 1; int newLength = Length; foreach (var c in normalizedChanges) newLength += c.Delta; Debug.Assert(newLength >= 0); var newVersion = new TextVersion(TextBuffer, newLength, VersionNumber + 1, reiteratedVersionNumber.Value); Changes = normalizedChanges; Next = newVersion; return newVersion; }
public TextVersion SetChanges(IList <ITextChange> changes, int?reiteratedVersionNumber = null) { var normalizedChanges = NormalizedTextChangeCollection.Create(changes); int reiterVerNum = reiteratedVersionNumber ?? (changes.Count == 0 ? ReiteratedVersionNumber : VersionNumber + 1); int newLength = Length; foreach (var c in normalizedChanges) { newLength += c.Delta; } Debug.Assert(newLength >= 0); var newVersion = new TextVersion(TextBuffer, newLength, VersionNumber + 1, reiterVerNum, textImageVersion.Identifier); textImageVersion.SetChanges(normalizedChanges, newVersion.textImageVersion); Next = newVersion; return(newVersion); }
public TextVersion SetChanges(IList <ITextChange> changes, int?reiteratedVersionNumber = null) { var normalizedChanges = NormalizedTextChangeCollection.Create(changes); if (reiteratedVersionNumber == null) { reiteratedVersionNumber = changes.Count == 0 ? ReiteratedVersionNumber : VersionNumber + 1; } int newLength = Length; foreach (var c in normalizedChanges) { newLength += c.Delta; } Debug.Assert(newLength >= 0); var newVersion = new TextVersion(TextBuffer, newLength, VersionNumber + 1, reiteratedVersionNumber.Value); Changes = normalizedChanges; Next = newVersion; return(newVersion); }
void CreateNewCurrentSnapshot(IList<ITextChange> changes, int? reiteratedVersionNumber = null, ITextSource afterTextSource = null) { // It's null the first time it's called from the ctor if (changes != null) currentTextVersion = currentTextVersion.SetChanges(changes, reiteratedVersionNumber); CurrentSnapshot = new TextSnapshot(afterTextSource ?? Document.CreateSnapshot(), ContentType, this, currentTextVersion); }