public void GetAssociatedTextTag() { DocumentEditor editor = new DocumentEditor(); TextBuffer buffer = editor.Buffer; TextTag summaryTag = buffer.TagTable.Lookup("summary"); Assert.IsNotNull(summaryTag); DocumentTag actualTag = (DocumentTag)DocumentUtils.GetAssociatedTextTag(buffer, summaryTag); Assert.AreEqual("summary:Text", actualTag.Name); Assert.IsTrue(actualTag.IsText); }
private static int InsertText(TextBuffer buffer, int offset, string data, Stack stack) { TagStart tagStart = (TagStart)stack.Peek(); TextIter insertAt = buffer.GetIterAtOffset(offset); TextTag textTag = DocumentUtils.GetAssociatedTextTag(buffer, tagStart.Tag); DocumentUtils.AddText(buffer, ref insertAt, data, textTag); // buffer.InsertWithTags (ref insertAt, data, textTag); #if DEBUG Console.WriteLine("Text: {0} Value: {1} Start: {2}", textTag.Name, data, offset); #endif return(insertAt.Offset); }
private void OnDeleteRange(object sender, DeleteRangeArgs args) { TextIter startIter = GetIterAtOffset(args.Start.Offset - 1); TextIter endIter = GetIterAtOffset(args.Start.Offset); #if DEBUG Console.WriteLine("DEBUG: Deleting range"); #endif bool startsRegion = startIter.Char.Equals("["); bool endsRegion = endIter.Char.Equals("]"); if (startsRegion && endsRegion) { #if DEBUG Console.WriteLine("DEBUG: Deleting whole editing region."); #endif TextTag last = DocumentUtils.GetAssociatedTextTag(this, DocumentUtils.GetLastTag(startIter)); Undoer.FreezeUndo(); InsertWithTags(ref endIter, "Documentation for this section has not yet been entered.", last); Undoer.ThrawUndo(); } }