DeleteRange(MarkupAttribute)

Method in MarkupParseResult

Summary

Deletes an attribute from this markup.

public MarkupParseResult DeleteRange(MarkupAttribute attributeToDelete)

Remarks

This method deletes the range of text covered by attributeToDelete , and updates the other attributes in this markup as follows:

  • Attributes that start and end before the deleted attribute are unmodified.

  • Attributes that start before the deleted attribute and end inside it are truncated to remove the part overlapping the deleted attribute.

  • Attributes that have the same position and length as the deleted attribute are deleted, if they apply to any text.

  • Attributes that start and end within the deleted attribute are deleted.

  • Attributes that start within the deleted attribute, and end outside it, have their start truncated to remove the part overlapping the deleted attribute.

  • Attributes that start after the deleted attribute have their start point adjusted to account for the deleted text.

This method does not modify the current object. A new MarkupParseResult is returned.

If attributeToDelete is not an attribute of this MarkupParseResult, the behaviour is undefined.

Parameters

NameDescription

Yarn.Markup.MarkupAttribute attributeToDelete

The attribute to remove.

Returns

A new MarkupParseResult object, with the plain text modified and an updated collection of attributes.

Yarn Spinnerยฎ and Secret Labยฎ are trade marks of Secret Lab Pty. Ltd., and are used by Yarn Spinner Pty. Ltd. under license.