﻿<?xml version="1.0" encoding="utf-8"?>
<doc>
  <assembly>
    <name>Microsoft.VisualStudio.Text.Data</name>
  </assembly>
  <members>
    <member name="T:Microsoft.VisualStudio.Text.ContentTypeChangedEventArgs">
      <summary>Provides information about the <see cref="E:Microsoft.VisualStudio.Text.ITextBuffer.ContentTypeChanged" /> event.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ContentTypeChangedEventArgs.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Utilities.IContentType,Microsoft.VisualStudio.Utilities.IContentType,System.Object)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.ContentTypeChangedEventArgs" /> with the specified before and after snapshots and before and after content types.</summary>
      <param name="beforeSnapshot">The most recent <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> before the change occurred.</param>
      <param name="afterSnapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> immediately after the change occurred.</param>
      <param name="beforeContentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> before the change occurred.</param>
      <param name="afterContentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> after the change occurred.</param>
      <param name="editTag">An arbitrary object associated with this change.</param>
      <exception cref="T:System.ArgumentNullException">One of <paramref name="beforeSnapshot" />, <paramref name="afterSnapshot" />, <paramref name="beforeContentType" />, or <paramref name="afterContentType" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ContentTypeChangedEventArgs.AfterContentType">
      <summary>The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> after the change occurred.</summary>
      <returns>The content type after the change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ContentTypeChangedEventArgs.BeforeContentType">
      <summary>The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> before the change occurred.</summary>
      <returns>The content type before the change.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.CustomTrackToVersion">
      <summary>Provides a custom implementation of span tracking. This delegate should be implemented by custom tracking spans.</summary>
      <returns>The span to which <paramref name="currentSpan" /> tracks.</returns>
      <param name="customSpan">The span to be tracked.</param>
      <param name="currentVersion">The version to which <paramref name="currentSpan" /> belongs.</param>
      <param name="targetVersion">The version to which <paramref name="currentSpan" /> is to be tracked.</param>
      <param name="currentSpan">The span to track.</param>
      <param name="customState">The custom state that was provided when the span was created.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.DynamicReadOnlyRegionQuery">
      <summary>The callback for notifying read-only regions of edits.</summary>
      <returns>Whether the read-only region is in effect.</returns>
      <param name="isEdit">true if an edit is being attempted, false if the read-only check should be side-effect free.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.EdgeInsertionMode">
      <summary>Defines the edge insertion modes for read-only regions.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.EdgeInsertionMode.Allow">
      <summary>Allows insertions at the edge of read-only regions. If there is a read-only region [3, 6) that allows edge insertions, an insertion at position 3 or position 6 will succeed.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.EdgeInsertionMode.Deny">
      <summary>Prevents insertions at the edge of read-only regions. If there is a read-only region [3, 6) that allows edge insertions, an insertion at position 3 or position 6 will fail.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.EditOptions">
      <summary>Options applicable to text editing transactions.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.EditOptions.#ctor(Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.EditOptions" /> for computing a minimal difference, with the given <see cref="T:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions" />.</summary>
      <param name="differenceOptions">The string difference options.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.EditOptions.#ctor(System.Boolean,Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.EditOptions" />.</summary>
      <param name="computeMinimalChange">true if the minimal difference is to be computed, otherwise false.</param>
      <param name="differenceOptions">The <see cref="T:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions" />.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.EditOptions.ComputeMinimalChange">
      <summary>Determines whether to compute the minimal change.</summary>
      <returns>true if this edit computes minimal change using the differencing option <see cref="T:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions" />, false otherwise.</returns>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.EditOptions.DefaultMinimalChange">
      <summary>Turn this edit into a minimal change, using line and word string differencing.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.EditOptions.DifferenceOptions">
      <summary>The differencing options for this edit, if <see cref="P:Microsoft.VisualStudio.Text.EditOptions.ComputeMinimalChange" /> is true.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions" />.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.EditOptions.Equals(System.Object)">
      <summary>Determines whether two sets of options are the same.</summary>
      <returns>true if both objects are the same, otherwise false.</returns>
      <param name="obj">The object to compare.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.EditOptions.GetHashCode">
      <summary>Provides a hash function for the type.</summary>
      <returns>The hash code.</returns>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.EditOptions.None">
      <summary>No special treatment.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.EditOptions.op_Equality(Microsoft.VisualStudio.Text.EditOptions,Microsoft.VisualStudio.Text.EditOptions)">
      <summary>Determines whether two EditOption objects are the same.</summary>
      <returns>true if both sets of options are the same, otherwise false.</returns>
      <param name="left">The left-hand set of options.</param>
      <param name="right">The right-hand set of options.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.EditOptions.op_Inequality(Microsoft.VisualStudio.Text.EditOptions,Microsoft.VisualStudio.Text.EditOptions)">
      <summary>Determines whether two EditOption objects are different.</summary>
      <returns>true if the two sets are different, otherwise false.</returns>
      <param name="left">The left-hand set of options.</param>
      <param name="right">The right-hand set of options.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.EditOptions.ToString">
      <summary>Provides a string representation of these edit options.</summary>
      <returns>The string.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.EncodingChangedEventArgs">
      <summary>Provides information for the <see cref="E:Microsoft.VisualStudio.Text.ITextDocument.EncodingChanged" /> event.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.EncodingChangedEventArgs.#ctor(System.Text.Encoding,System.Text.Encoding)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.EncodingChangedEventArgs" /></summary>
      <param name="oldEncoding">The previous encoding.</param>
      <param name="newEncoding">The new encoding.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.EncodingChangedEventArgs.NewEncoding">
      <summary>Gets the new encoding.</summary>
      <returns>The new encoding.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.EncodingChangedEventArgs.OldEncoding">
      <summary>Gets the previous encoding.</summary>
      <returns>The previous encoding.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.FileActionTypes">
      <summary>Describes the type of file action.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.FileActionTypes.ContentLoadedFromDisk">
      <summary>The content was loaded from disk.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.FileActionTypes.ContentSavedToDisk">
      <summary>The content was saved to disk.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.FileActionTypes.DocumentRenamed">
      <summary>The document was renamed.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.IEncodingDetector">
      <summary>Attempts to detect the text encoding associated with a stream.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IEncodingDetector.GetStreamEncoding(System.IO.Stream)">
      <summary>Attempts to detect the encoding associated with a stream.</summary>
      <returns>The detected encoding, or null if one could not be determined.</returns>
      <param name="stream">The stream to read.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.IExtensionErrorHandler">
      <summary>Allows editor hosts to detect exceptions that get captured at extension points.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IExtensionErrorHandler.HandleError(System.Object,System.Exception)">
      <summary>Sends notification that an exception has occurred.</summary>
      <param name="sender">The extension object or event handler that threw the exception.</param>
      <param name="exception">The exception that was thrown.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.IMappingPoint">
      <summary>A position in a <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> that can be mapped within a <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IMappingPoint.AnchorBuffer">
      <summary>The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> from which this point was created.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IMappingPoint.BufferGraph">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" /> that this point uses to perform the mapping.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IMappingPoint.GetInsertionPoint(System.Predicate{Microsoft.VisualStudio.Text.ITextBuffer})">
      <summary>Maps the point to an insertion point in a matching <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> in the matching buffer, or null if the point does not appear in that buffer.</returns>
      <param name="match">The predicate used to match the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="match" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IMappingPoint.GetPoint(Microsoft.VisualStudio.Text.ITextBuffer,Microsoft.VisualStudio.Text.PositionAffinity)">
      <summary>Maps the point to a particular <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> in the targeted buffer, or null if the point and affinity do not appear in that buffer.</returns>
      <param name="targetBuffer">The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> to which to map the point.</param>
      <param name="affinity">If the mapping is ambiguous (the position lies on a source span seam), this parameter affects the mapping as follows: if <paramref name="affinity" /> is <see cref="F:Microsoft.VisualStudio.Text.PositionAffinity.Predecessor" />, the mapping targets the position immediately after the preceding character in the anchor bufferif <paramref name="affinity" /> is <see cref="F:Microsoft.VisualStudio.Text.PositionAffinity.Successor" />, the mapping targets the position immediately before the following character in the anchor buffer.This parameter has no effect if the mapping is unambiguous.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="targetBuffer" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IMappingPoint.GetPoint(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.PositionAffinity)">
      <summary>Maps the point to a particular <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</summary>
      <returns>A nullable <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" />.</returns>
      <param name="targetSnapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> to which to map the point.</param>
      <param name="affinity">If the mapping is ambiguous (the position lies on a source span seam), this parameter affects the mapping as follows: if <paramref name="affinity" /> is <see cref="F:Microsoft.VisualStudio.Text.PositionAffinity.Predecessor" />, the mapping targets the position immediately after the preceding character in the anchor buffer if <paramref name="affinity" /> is <see cref="F:Microsoft.VisualStudio.Text.PositionAffinity.Successor" />, the mapping targets the position immediately before the following character in the anchor buffer This parameter has no effect if the mapping is unambiguous.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="targetSnapshot" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IMappingPoint.GetPoint(System.Predicate{Microsoft.VisualStudio.Text.ITextBuffer},Microsoft.VisualStudio.Text.PositionAffinity)">
      <summary>Maps the point to a matching <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> in the matching buffer, or null if the point and affinity do not appear in that buffer.</returns>
      <param name="match">The predicate used to match the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</param>
      <param name="affinity">If the mapping is ambiguous (the position lies on a source span seam), this parameter affects the mapping as follows: if <paramref name="affinity" /> is <see cref="F:Microsoft.VisualStudio.Text.PositionAffinity.Predecessor" />, the mapping targets the position immediately after the preceding character in the anchor buffer if <paramref name="affinity" /> is <see cref="F:Microsoft.VisualStudio.Text.PositionAffinity.Successor" />, the mapping targets the position immediately before the following character in the anchor buffer This parameter has no effect if the mapping is unambiguous.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="match" /> is null.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.IMappingSpan">
      <summary>A span in a <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> that can be mapped within a <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IMappingSpan.AnchorBuffer">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> from which this span was created.</summary>
      <returns>the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IMappingSpan.BufferGraph">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" /> that this span uses to perform mapping.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IMappingSpan.End">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.IMappingPoint" /> for the end of this span.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.IMappingPoint" />.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IMappingSpan.GetSpans(Microsoft.VisualStudio.Text.ITextBuffer)">
      <summary>Maps the span to a particular <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>The possibly empty collection of spans in the <paramref name="targetBuffer" /> to which the span maps.</returns>
      <param name="targetBuffer">The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> to which to map the span.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="targetBuffer" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IMappingSpan.GetSpans(Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Maps the span to a particular <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</summary>
      <returns>The possibly empty collection of spans in the <paramref name="targetSnapshot" /> to which the span maps.</returns>
      <param name="targetSnapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> to which to map the span.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="targetSnapshot" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IMappingSpan.GetSpans(System.Predicate{Microsoft.VisualStudio.Text.ITextBuffer})">
      <summary>Maps the span to a matching <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>A possibly empty collection of spans in the matching buffer.</returns>
      <param name="match">The predicate used to identify the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="match" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IMappingSpan.Start">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.IMappingPoint" /> for the start of this span.</summary>
      <returns>the <see cref="T:Microsoft.VisualStudio.Text.IMappingPoint" />.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.INormalizedTextChangeCollection">
      <summary>A normalized list of <see cref="T:Microsoft.VisualStudio.Text.ITextChange" /> objects. Changes are sorted in ascending order of position, and abutting and overlapping changes are combined into a single change.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.INormalizedTextChangeCollection.IncludesLineChanges">
      <summary>Determines whether any of the <see cref="T:Microsoft.VisualStudio.Text.ITextChange" /> objects in this list have a nonzero <see cref="P:Microsoft.VisualStudio.Text.ITextChange.LineCountDelta" />.</summary>
      <returns>true if at least one <see cref="T:Microsoft.VisualStudio.Text.ITextChange" /> in this list has a nonzero <see cref="P:Microsoft.VisualStudio.Text.ITextChange.LineCountDelta" />, otherwise false.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.IPersistentSpan">
      <summary>Describes a span in a document that remains valid even when the document is closed, opened, or modified (while it is open).</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IPersistentSpan.Document">
      <summary>Gets the span's ITextDocument if the underlying document is open, or null if the document is closed.</summary>
      <returns>The span's ITextDocument if the underlying document is open, or null if the document is closed.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IPersistentSpan.FilePath">
      <summary>Gets the file path of the document.</summary>
      <returns>The file path of the document.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IPersistentSpan.IsDocumentOpen">
      <summary>Determines whether the document associated with the IPersistentSpan is currently open.</summary>
      <returns>True if the document associated with the IPersistentSpan is currently open, otherwise false.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IPersistentSpan.Span">
      <summary>Gets the span's ITrackingSpan if the underlying document is open, or null if the document is closed.</summary>
      <returns>The span's ITrackingSpan if the underlying document is open, or null if the document is closed.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IPersistentSpan.TryGetEndLineIndex(System.Int32@,System.Int32@)">
      <summary>Get the ending point of the span as a line number and offset from the start of the line./// &lt;/summary&gt;/// &lt;param name="endLine"&gt; &lt;/param&gt;/// &lt;param name="endIndex"&gt; &lt;/param&gt;/// &lt;returns&gt; &lt;/returns&gt;/// &lt;remarks&gt;/// &lt;para&gt; &lt;/para&gt;/// &lt;/remarks&gt;</summary>
      <returns>True if the out parameters are valid; false otherwise (in which case TryGetSpan will work).</returns>
      <param name="endLine">[out] The line number of the end point.</param>
      <param name="endIndex">[out] The offset from the start of the line that contains the end point.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IPersistentSpan.TryGetSpan(Microsoft.VisualStudio.Text.Span@)">
      <summary>Get the span as a character offset from the start of the buffer./// &lt;/summary&gt;/// &lt;param name="span"&gt; &lt;/param&gt;/// &lt;returns&gt; &lt;/returns&gt;/// &lt;remarks&gt;/// &lt;para&gt; &lt;/para&gt;/// &lt;/remarks&gt;</summary>
      <returns>True if the out parameters are valid; false otherwise (in which case either TryGetStartLineIndex or TryGetEndLineIndex will work).</returns>
      <param name="span">[out] The corresponding span in the buffer.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IPersistentSpan.TryGetStartLineIndex(System.Int32@,System.Int32@)">
      <summary>Gets the starting point of the span as a line number and offset from the start of the line./// &lt;/summary&gt;/// &lt;para&gt; &lt;/para&gt;/// &lt;/remarks&gt;</summary>
      <returns>True if the out parameters are valid; false otherwise (in which case TryGetSpan will work).</returns>
      <param name="startLine">[out] The line number of the start point.</param>
      <param name="startIndex">[out] The offset from the start of the line that contains the start point.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.IPersistentSpanFactory">
      <summary>A factory for creating IPersistentSpan objects.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IPersistentSpanFactory.CanCreate(Microsoft.VisualStudio.Text.ITextBuffer)">
      <summary>Determines whether an IPersistentSpan can be created on the specified buffer.</summary>
      <returns>True if a span can be created, otherwise false.</returns>
      <param name="buffer">The buffer in question</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IPersistentSpanFactory.Create(Microsoft.VisualStudio.Text.ITextSnapshot,System.Int32,System.Int32,System.Int32,System.Int32,Microsoft.VisualStudio.Text.SpanTrackingMode)">
      <summary>Creates an IPersistentSpan for a snapshot span on a document that is currently open.</summary>
      <returns>The newly created span.</returns>
      <param name="snapshot">The text snapshot.</param>
      <param name="startLine">The line number of the start point.</param>
      <param name="startIndex">The offset from the start of the line that contains the start point.</param>
      <param name="endLine">The line number of the end point.</param>
      <param name="endIndex">The offset from the start of the line that contains the end point.</param>
      <param name="trackingMode">The <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" /> that determines how the tracking span will react to changes at its boundaries.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IPersistentSpanFactory.Create(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SpanTrackingMode)">
      <summary>Creates an IPersistentSpan for a snapshot span on a document that is currently open.</summary>
      <returns>The newly created span.</returns>
      <param name="span">The span as character offsets from the start of the file.</param>
      <param name="trackingMode">The <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" /> that determines how the tracking span will react to changes at its boundaries.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IPersistentSpanFactory.Create(System.String,Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.SpanTrackingMode)">
      <summary>Creates an IPersistentSpan for a snapshot span on a document that is currently open.</summary>
      <returns>The newly created span.</returns>
      <param name="trackingMode">The <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" /> that determines how the tracking span will react to changes at its boundaries.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IPersistentSpanFactory.Create(System.String,System.Int32,System.Int32,System.Int32,System.Int32,Microsoft.VisualStudio.Text.SpanTrackingMode)">
      <summary>Creates an IPersistentSpan for a snapshot span on a document that is currently open.</summary>
      <returns>The newly created span.</returns>
      <param name="filePath">The name of the file that contains the span.</param>
      <param name="startLine">The line number of the start point.</param>
      <param name="startIndex">The offset from the start of the line that contains the start point.</param>
      <param name="endLine">The line number of the end point.</param>
      <param name="endIndex">The offset from the start of the line that contains the end point.</param>
      <param name="trackingMode">The <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" /> that determines how the tracking span will react to changes at its boundaries.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.IReadOnlyRegion">
      <summary>Tracks a possibly empty read-only region of text.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IReadOnlyRegion.EdgeInsertionMode">
      <summary>The edge insertion behavior of the read-only region.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.EdgeInsertionMode" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IReadOnlyRegion.QueryCallback">
      <summary>The delegate that notifies the read-only region of read-only checks and edits.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.DynamicReadOnlyRegionQuery" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.IReadOnlyRegion.Span">
      <summary>The span of text marked read-only by this region.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.IReadOnlyRegionEdit">
      <summary>Represents a set of read-only region editing operations (creating and removing read-only regions on an <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />. </summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IReadOnlyRegionEdit.CreateDynamicReadOnlyRegion(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.EdgeInsertionMode,Microsoft.VisualStudio.Text.DynamicReadOnlyRegionQuery)">
      <summary>Marks a span of text in this buffer as conditionally read-only, subject to a check performed when the region is queried. The span remains read-only until it is marked as writable or forced writable again.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegion" /> used to track this read-only region. This object will be used to remove the read-only region.</returns>
      <param name="span">The span to mark as read-only.</param>
      <param name="trackingMode">Specifies the tracking behavior of the read-only region.</param>
      <param name="edgeInsertionMode">Specifies the edge insertion behavior of the read-only region.</param>
      <param name="callback">The delegate that notifies the read-only region of read-only checks and edits. May be null. See <see cref="P:Microsoft.VisualStudio.Text.IReadOnlyRegion.QueryCallback" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="span" /> is past the end of the buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IReadOnlyRegionEdit.CreateReadOnlyRegion(Microsoft.VisualStudio.Text.Span)">
      <summary>Marks a span of text in this buffer as read-only. The span remains read-only until the <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegion" /> is removed.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegion" /> used to track this read-only region. This object will be used to remove the read-only region.</returns>
      <param name="span">The span to mark as read-only.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="span" /> is past the end of the buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IReadOnlyRegionEdit.CreateReadOnlyRegion(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.EdgeInsertionMode)">
      <summary>Marks a span of text in this buffer as read-only. The span remains read-only until it is marked as writable or forced writable again.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegion" /> used to track this read-only region. This object will be used to remove the read-only region.</returns>
      <param name="span">The span to mark as read-only.</param>
      <param name="trackingMode">Specifies the tracking behavior of the read-only region.</param>
      <param name="edgeInsertionMode">Specifies the edge insertion behavior of the read-only region.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="span" /> is past the end of the buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.IReadOnlyRegionEdit.RemoveReadOnlyRegion(Microsoft.VisualStudio.Text.IReadOnlyRegion)">
      <summary>Removes the read-only region from the list of read-only regions in this buffer.</summary>
      <param name="readOnlyRegion">The read-only region to remove.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="readOnlyRegion" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">
        <paramref name="readOnlyRegion" /> was created on another buffer.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextBuffer">
      <summary>A mutable sequence of Unicode (UTF-16) characters.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.ChangeContentType(Microsoft.VisualStudio.Utilities.IContentType,System.Object)">
      <summary>Changes the <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> for this <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <param name="newContentType">The new <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" />.</param>
      <param name="editTag">An object associated with this edit transaction.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="newContentType" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">Another <see cref="T:Microsoft.VisualStudio.Text.ITextBufferEdit" /> object is active for this <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</exception>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextBuffer.Changed">
      <summary>Occurs when a non-empty <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> is successfully applied.</summary>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextBuffer.ChangedHighPriority">
      <summary>Occurs when a non-empty <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> is successfully applied.</summary>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextBuffer.ChangedLowPriority">
      <summary>Occurs when a non-empty <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> is successfully applied.</summary>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextBuffer.Changing">
      <summary>Occurs just before a non-empty <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> is applied.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.CheckEditAccess">
      <summary>Determines whether edit operations on this text buffer are permitted on the calling thread.</summary>
      <returns>true if the calling thread is allowed to perform edit operations, otherwise false.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextBuffer.ContentType">
      <summary>Gets the content type of the text in the buffer.</summary>
      <returns>The content type of the text in the buffer.</returns>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextBuffer.ContentTypeChanged">
      <summary>Occurs whenever the <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> has been changed.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.CreateEdit">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> object that handles compound edit operations on this buffer.</summary>
      <returns>A new <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> object.</returns>
      <exception cref="T:System.InvalidOperationException">Another <see cref="T:Microsoft.VisualStudio.Text.ITextBufferEdit" /> object is active for this text buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.CreateEdit(Microsoft.VisualStudio.Text.EditOptions,System.Nullable{System.Int32},System.Object)">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> object that handles compound edit operations on this buffer.</summary>
      <returns>A new <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> object.</returns>
      <param name="options">Options to apply to the compound edit operation.</param>
      <param name="reiteratedVersionNumber">If not null, indicates that the version to be created by this edit operation is the product of an undo or redo operation.</param>
      <param name="editTag">An object associated with this edit transaction.</param>
      <exception cref="T:System.InvalidOperationException">Another <see cref="T:Microsoft.VisualStudio.Text.ITextBufferEdit" /> object is active for this text buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.CreateReadOnlyRegionEdit">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegionEdit" /> object that handles adding or removing read-only regions from this buffer.</summary>
      <returns>A new <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegionEdit" /> object.</returns>
      <exception cref="T:System.InvalidOperationException">Another <see cref="T:Microsoft.VisualStudio.Text.ITextBufferEdit" /> object is active for this text buffer.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextBuffer.CurrentSnapshot">
      <summary>Gets the current content of the buffer.</summary>
      <returns>The current content of the buffer.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.Delete(Microsoft.VisualStudio.Text.Span)">
      <summary>Deletes a sequence of characters from the buffer.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</returns>
      <param name="deleteSpan">The span of characters to delete.</param>
      <exception cref="T:System.InvalidOperationException">A <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> is currently active.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="deleteSpan" />.End is greater than the length of the buffer.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextBuffer.EditInProgress">
      <summary>Determines whether an edit operation is currently in progress on the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>true if an edit operation is currently in progress on the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />, otherwise false.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.GetReadOnlyExtents(Microsoft.VisualStudio.Text.Span)">
      <summary>Gets a list of read-only regions that overlap the given span.</summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.NormalizedSpanCollection" /> of read-only regions that overlap the given span.</returns>
      <param name="span">The span to check for read-only regions.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">
        <see cref="M:Microsoft.VisualStudio.Text.ITextBuffer.TakeThreadOwnership" /> has previously been called, and this call is being made from a different thread.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="span" /> is past the end of the buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.Insert(System.Int32,System.String)">
      <summary>Inserts the given <paramref name="text" /> at the specified <paramref name="position" /> in the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</returns>
      <param name="position">The buffer position at which the first character of the text will appear.</param>
      <param name="text">The text to be inserted.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="text" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">A text edit is currently active.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the length of the buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.IsReadOnly(Microsoft.VisualStudio.Text.Span)">
      <summary>Determines whether a text modification or deletion would be prohibited at <paramref name="span" /> due to an <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegion" />.</summary>
      <returns>true if the entire span could be deleted or replaced, otherwise false.</returns>
      <param name="span">The span to check.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">
        <see cref="M:Microsoft.VisualStudio.Text.ITextBuffer.TakeThreadOwnership" /> has previously been called, and this call is being made from a different thread.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">The <see cref="P:Microsoft.VisualStudio.Text.Span.End" /> property of <paramref name="span" /> is greater than the length of <see cref="P:Microsoft.VisualStudio.Text.ITextBuffer.CurrentSnapshot" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.IsReadOnly(Microsoft.VisualStudio.Text.Span,System.Boolean)">
      <summary>Determines whether a text modification or deletion would be prohibited at <paramref name="span" /> due to an <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegion" />.</summary>
      <returns>true if the entire span could be deleted or replaced, false otherwise.</returns>
      <param name="span">The span to check.</param>
      <param name="isEdit">true if this check is part of an edit. false for a query without side effects.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">
        <see cref="M:Microsoft.VisualStudio.Text.ITextBuffer.TakeThreadOwnership" /> has previously been called, and this call is being made from a different thread.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">The <see cref="P:Microsoft.VisualStudio.Text.Span.End" /> property of <paramref name="span" /> is greater than the length of <see cref="P:Microsoft.VisualStudio.Text.ITextBuffer.CurrentSnapshot" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.IsReadOnly(System.Int32)">
      <summary>Determines whether a text insertion would be prohibited at the specified position due to an <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegion" />.</summary>
      <returns>true if an <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegion" /> would prohibit insertions at this position, otherwise false.</returns>
      <param name="position">The position of the proposed text insertion.</param>
      <exception cref="T:System.InvalidOperationException">
        <see cref="M:Microsoft.VisualStudio.Text.ITextBuffer.TakeThreadOwnership" /> has previously been called, and this call is being made from a different thread.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is negative or greater than the length of <see cref="P:Microsoft.VisualStudio.Text.ITextBuffer.CurrentSnapshot" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.IsReadOnly(System.Int32,System.Boolean)">
      <summary>Determines whether a text insertion would be prohibited at the specified position due to an <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegion" />.</summary>
      <returns>true if an <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegion" /> would prohibit insertions at this position, otherwise false.</returns>
      <param name="position">The position of the proposed text insertion.</param>
      <param name="isEdit">true if this check is part of an edit. false for a query without side effects.</param>
      <exception cref="T:System.InvalidOperationException">
        <see cref="M:Microsoft.VisualStudio.Text.ITextBuffer.TakeThreadOwnership" /> has previously been called, and this call is being made from a different thread.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is negative or greater than the length of <see cref="P:Microsoft.VisualStudio.Text.ITextBuffer.CurrentSnapshot" />.</exception>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextBuffer.PostChanged">
      <summary>Occurs after the <see cref="E:Microsoft.VisualStudio.Text.ITextBuffer.Changed" /> event and any resulting edits.</summary>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextBuffer.ReadOnlyRegionsChanged">
      <summary>Occurs when a <see cref="T:Microsoft.VisualStudio.Text.IReadOnlyRegionEdit" /> has created or removed read-only regions.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.Replace(Microsoft.VisualStudio.Text.Span,System.String)">
      <summary>Replaces a sequence of characters with different text. This is equivalent to first deleting the text to be replaced and then inserting the new text.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</returns>
      <param name="replaceSpan">The span of characters to replace.</param>
      <param name="replaceWith">The new text to replace the old.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="replaceWith" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">A text edit is currently active.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="replaceSpan" />.End is greater than the length of the buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBuffer.TakeThreadOwnership">
      <summary>Claims ownership of this buffer for the current thread. All subsequent modifications of this <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> must be made from the current thread, or else an <see cref="T:System.InvalidOperationException" /> will be raised.</summary>
      <exception cref="T:System.InvalidOperationException">This method has been called previously from a different thread, or a <see cref="T:Microsoft.VisualStudio.Text.ITextBufferEdit" /> object is active for this text buffer.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextBufferEdit">
      <summary>Represents edit operations against a <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Apply">
      <summary>Commits all the modifications made with this <see cref="T:Microsoft.VisualStudio.Text.ITextBufferEdit" /> object to the underlying <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />. It also causes the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> to generate a new snapshot and raise its <see cref="E:Microsoft.VisualStudio.Text.ITextBuffer.Changed" /> event if any modifications were made. </summary>
      <returns>A snapshot of the state of the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> after the change is applied. If there was no change, or edit was canceled, no new snapshot will be generated, and the previous snapshot will be returned.</returns>
      <exception cref="T:System.InvalidOperationException">The <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Apply" /> or <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Cancel" /> or <see cref="M:System.IDisposable.Dispose" /> method has previously been called on this object.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Cancel">
      <summary>Abandons all modifications started using this <see cref="T:Microsoft.VisualStudio.Text.ITextBufferEdit" /> object. Any further calls on this object will result in an <see cref="T:System.InvalidOperationException" />.</summary>
      <exception cref="T:System.InvalidOperationException">The <see cref="M:System.IDisposable.Dispose" /> method has previously been called on this object, or the edit has already been applied.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextBufferEdit.Canceled">
      <summary>Determines whether this edit has been canceled.</summary>
      <returns>true if this edit has been canceled, otherwise false.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextBufferEdit.Snapshot">
      <summary>Gets a snapshot of the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> at the time this object was created.</summary>
      <returns>A snapshot of the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> at the time this object was created.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextBufferFactoryService">
      <summary>The factory service for ordinary text buffers.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBufferFactoryService.CreateTextBuffer">
      <summary>Creates an empty <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> with <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> "text".</summary>
      <returns>An empty <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> object.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBufferFactoryService.CreateTextBuffer(Microsoft.VisualStudio.Utilities.IContentType)">
      <summary>Creates an empty <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> with the specified <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" />.</summary>
      <returns>An empty <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> with the given <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" />.</returns>
      <param name="contentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> for the new <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="contentType" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBufferFactoryService.CreateTextBuffer(System.IO.TextReader,Microsoft.VisualStudio.Utilities.IContentType)">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> with the given content type and populates it by reading data from the specified text reader.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> object with the given text reader and content type.</returns>
      <param name="reader">The <see cref="T:System.IO.TextReader" /> from which to read.</param>
      <param name="contentType">The <paramref name="contentType" /> for the text contained in the new <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /></param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="reader" /> is null or <paramref name="contentType" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextBufferFactoryService.CreateTextBuffer(System.String,Microsoft.VisualStudio.Utilities.IContentType)">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> with the specified <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> and populates it with the given text.</summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> object with the given text and <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" />.</returns>
      <param name="text">The initial text to add.</param>
      <param name="contentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> for the new <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</param>
      <exception cref="T:System.ArgumentNullException">Either <paramref name="text" /> or <paramref name="contentType" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextBufferFactoryService.InertContentType">
      <summary>A content type for which no associated artifacts are automatically created.</summary>
      <returns>The inert <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextBufferFactoryService.PlaintextContentType">
      <summary>Predefined content type for plain text files. </summary>
      <returns>The plain text <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" />.</returns>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextBufferFactoryService.TextBufferCreated">
      <summary>Raised when any <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> is created.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextBufferFactoryService.TextContentType">
      <summary>The text content type.</summary>
      <returns>The text <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" />.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextChange">
      <summary>Describes a single contiguous text change operation on the text buffer.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.Delta">
      <summary>Gets the difference in the length of the buffer that results from this change.</summary>
      <returns>The difference in the length of the buffer that results from this change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.LineCountDelta">
      <summary>Gets the difference in the number of lines in the snapshot that results from this change.</summary>
      <returns>The difference in the number of lines in the snapshot that results from this change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.NewEnd">
      <summary>Gets the end position of the <see cref="P:Microsoft.VisualStudio.Text.ITextChange.NewText" /> in the snapshot immediately after the text change.</summary>
      <returns>The end position of the <see cref="P:Microsoft.VisualStudio.Text.ITextChange.NewText" /> in the snapshot immediately after the text change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.NewLength">
      <summary>Gets the length of <see cref="P:Microsoft.VisualStudio.Text.ITextChange.NewText" />.</summary>
      <returns>The length of <see cref="P:Microsoft.VisualStudio.Text.ITextChange.NewText" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.NewPosition">
      <summary>Gets the position of the text change in the snapshot immediately after the change. </summary>
      <returns>The position of the text change in the snapshot immediately after the change. </returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.NewSpan">
      <summary>Gets the span of the <see cref="T:Microsoft.VisualStudio.Text.ITextChange" /> in the snapshot immediately after the change.</summary>
      <returns>The span of the <see cref="T:Microsoft.VisualStudio.Text.ITextChange" /> in the snapshot immediately after the change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.NewText">
      <summary>Gets the text that replaced the old text.</summary>
      <returns>The text that replaced the old text.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.OldEnd">
      <summary>Gets the end position of the <see cref="P:Microsoft.VisualStudio.Text.ITextChange.OldText" /> in the snapshot immediately before the change.</summary>
      <returns>The end position of the <see cref="P:Microsoft.VisualStudio.Text.ITextChange.OldText" /> in the snapshot immediately before the change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.OldLength">
      <summary>Gets the length of <see cref="P:Microsoft.VisualStudio.Text.ITextChange.OldText" />.</summary>
      <returns>The length of <see cref="P:Microsoft.VisualStudio.Text.ITextChange.OldText" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.OldPosition">
      <summary>Gets the position of the text change in the snapshot immediately before the change.</summary>
      <returns>The position of the text change in the snapshot immediately before the change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.OldSpan">
      <summary>The span of the text change in the snapshot immediately before the change.</summary>
      <returns>The span of the text change in the snapshot immediately before the change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange.OldText">
      <summary>Gets the text that was replaced.</summary>
      <returns>The text that was replaced.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextChange2">
      <summary>Indicates whether the change is opaque. </summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextChange2.IsOpaque">
      <summary>Flag indicating whether the change is opaque.</summary>
      <returns>Returns true if the change is opaque; otherwise, returns false.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextDocument">
      <summary>Represents a document in the file system that persists an <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextDocument.DirtyStateChanged">
      <summary>Occurs when the value of <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.IsDirty" /> changes. </summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextDocument.Encoding">
      <summary>Gets or sets the encoding of the document when saved to disk.</summary>
      <returns>The <see cref="T:System.Text.Encoding" />.</returns>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextDocument.EncodingChanged">
      <summary>Occurs when the <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.Encoding" /> property changes.</summary>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextDocument.FileActionOccurred">
      <summary>Occurs when the document has been loaded from or saved to disk. </summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextDocument.FilePath">
      <summary>The name and path of the file.</summary>
      <returns>The file path.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextDocument.IsDirty">
      <summary>Determines whether the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> is dirty.</summary>
      <returns>true if dirty, otherwise false.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextDocument.IsReloading">
      <summary>Determines whether the <see cref="M:Microsoft.VisualStudio.Text.ITextDocument.Reload" /> method is executing.</summary>
      <returns>true if reloading, otherwise false.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextDocument.LastContentModifiedTime">
      <summary>Gets the last <see cref="T:System.DateTime" /> a change was made to the contents of the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>The last content modified time.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextDocument.LastSavedTime">
      <summary>Gets the last <see cref="T:System.DateTime" /> the file was saved. This time exactly matches the last file written time on the file system.</summary>
      <returns>The last saved time.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.Reload">
      <summary>Reloads the contents of <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.FilePath" /> into a <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.TextBuffer" />. </summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.ReloadResult" /> that indicates whether the reload took place and whether the encoding was sufficient.</returns>
      <exception cref="T:System.InvalidOperationException">This object is in the middle of raising events.</exception>
      <exception cref="T:System.UnauthorizedAccessException">An access error occurred during file load.</exception>
      <exception cref="T:System.IO.IOException">An I/O error occurred during file load.</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.Reload(Microsoft.VisualStudio.Text.EditOptions)">
      <summary>Reloads the contents of <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.FilePath" /> into <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.TextBuffer" />, using the given <see cref="T:Microsoft.VisualStudio.Text.EditOptions" />. </summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ReloadResult" />.</returns>
      <param name="options">The options to use for the text buffer edit.</param>
      <exception cref="T:System.InvalidOperationException">This object is in the middle of raising events.</exception>
      <exception cref="T:System.UnauthorizedAccessException">An access error occurred during file load.</exception>
      <exception cref="T:System.IO.IOException">An I/O error occurred during file load.</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.Rename(System.String)">
      <summary>Rename the document to the given new file path.</summary>
      <param name="newFilePath">The new file path for this document.</param>
      <exception cref="T:System.InvalidOperationException">This object is in the middle of raising events.</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.Save">
      <summary>Saves the contents of the <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.TextBuffer" /> to the <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.FilePath" />. </summary>
      <exception cref="T:System.InvalidOperationException">This object is in the middle of raising events.</exception>
      <exception cref="T:System.UnauthorizedAccessException">An access error occurred during file save.</exception>
      <exception cref="T:System.IO.IOException">An I/O error occurred during file save.</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.SaveAs(System.String,System.Boolean)">
      <summary>Saves the contents of the <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.TextBuffer" /> to the specified file path.</summary>
      <param name="filePath">The name of the new file.</param>
      <param name="overwrite">true if <paramref name="filePath" /> should be overwritten if it exists, otherwise false.</param>
      <exception cref="T:System.InvalidOperationException">This object is in the middle of raising events.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="filePath" /> is null.</exception>
      <exception cref="T:System.UnauthorizedAccessException">An access error occurred during file save.</exception>
      <exception cref="T:System.IO.IOException">An I/O error occurred (including an error caused by attempting to overwrite an existing file when <paramref name="overwrite" /> is false).</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.SaveAs(System.String,System.Boolean,Microsoft.VisualStudio.Utilities.IContentType)">
      <summary>Saves the contents of the <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.TextBuffer" /> to the specified file path.</summary>
      <param name="filePath">The name of the new file.</param>
      <param name="overwrite">true if <paramref name="filePath" /> should be overwritten if it exists, otherwise false.</param>
      <param name="newContentType">The new <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" />.</param>
      <exception cref="T:System.InvalidOperationException">This object is in the middle of raising events.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="filePath" /> or <paramref name="newContentType" /> is null.</exception>
      <exception cref="T:System.UnauthorizedAccessException">An access error occurred during file save.</exception>
      <exception cref="T:System.IO.IOException">An I/O error occurred (including an error caused by attempting to overwrite an existing file when <paramref name="overwrite" /> is false).</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.SaveAs(System.String,System.Boolean,System.Boolean)">
      <summary>Saves the contents of the <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.TextBuffer" /> to the specified file path.</summary>
      <param name="filePath">The name of the new file.</param>
      <param name="overwrite">true if <paramref name="filePath" /> should be overwritten if it exists, otherwise false.</param>
      <param name="createFolder">true if the folder containing <paramref name="filePath" /> should be created if it does not exist, otherwise false.</param>
      <exception cref="T:System.InvalidOperationException">This object is in the middle of raising events.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="filePath" /> is null.</exception>
      <exception cref="T:System.UnauthorizedAccessException">An access error occurred during file save.</exception>
      <exception cref="T:System.IO.IOException">An I/O error occurred (including an error caused by attempting to overwrite an existing file when <paramref name="overwrite" /> is false).</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.SaveAs(System.String,System.Boolean,System.Boolean,Microsoft.VisualStudio.Utilities.IContentType)">
      <summary>Saves the contents of the <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.TextBuffer" /> to the specified file path.</summary>
      <param name="filePath">The name of the new file.</param>
      <param name="overwrite">true if <paramref name="filePath" /> should be overwritten if it exists, otherwise false.</param>
      <param name="createFolder">true if the folder containing <paramref name="filePath" /> should be created if it does not exist, otherwise false.</param>
      <param name="newContentType">The new <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" />.</param>
      <exception cref="T:System.InvalidOperationException">This object is in the middle of raising events.</exception>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="filePath" /> or <paramref name="newContentType" /> is null.</exception>
      <exception cref="T:System.UnauthorizedAccessException">An access error occurred during file save.</exception>
      <exception cref="T:System.IO.IOException">An I/O error occurred (including an error caused by attempting to overwrite an existing file when <paramref name="overwrite" /> is false).</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.SaveCopy(System.String,System.Boolean)">
      <summary>Saves the contents of the <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.TextBuffer" /> to the given <paramref name="filePath" />.</summary>
      <param name="filePath">The name of the file.</param>
      <param name="overwrite">true if <paramref name="filePath" /> should be overwritten if it exists, otherwise false.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="filePath" /> is null.</exception>
      <exception cref="T:System.UnauthorizedAccessException">An access error occurred during file save.</exception>
      <exception cref="T:System.IO.IOException">An I/O error occurred (including an error caused by attempting to overwrite an existing file when <paramref name="overwrite" /> is false).</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.SaveCopy(System.String,System.Boolean,System.Boolean)">
      <summary>Saves the contents of the <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.TextBuffer" /> to the specified file path.</summary>
      <param name="filePath">The name of the file.</param>
      <param name="overwrite">true if <paramref name="filePath" /> should be overwritten if it exists, otherwise false.</param>
      <param name="createFolder">true if the folder containing <paramref name="filePath" /> should be created if it does not exist, otherwise false.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="filePath" /> is null.</exception>
      <exception cref="T:System.UnauthorizedAccessException">An access error occurred during file save.</exception>
      <exception cref="T:System.IO.IOException">An I/O error occurred (including an error caused by attempting to overwrite an existing file when <paramref name="overwrite" /> is false).</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.SetEncoderFallback(System.Text.EncoderFallback)">
      <summary>Change the encoder fallback of <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.Encoding" />.</summary>
      <param name="fallback">The new encoder fallback</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextDocument.TextBuffer">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> containing the document. This value is always non-null.</summary>
      <returns>The text buffer.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocument.UpdateDirtyState(System.Boolean,System.DateTime)">
      <summary>Updates the <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.IsDirty" /> and <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.LastContentModifiedTime" /> properties.</summary>
      <param name="isDirty">The new value for <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.IsDirty" />.</param>
      <param name="lastContentModifiedTime">The new value for <see cref="P:Microsoft.VisualStudio.Text.ITextDocument.LastContentModifiedTime" />.</param>
      <exception cref="T:System.InvalidOperationException">This object is in the middle of raising events.</exception>
      <exception cref="T:System.ObjectDisposedException">This object has been disposed.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextDocumentFactoryService">
      <summary>Represents a service that creates, loads, and disposes text documents.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocumentFactoryService.CreateAndLoadTextDocument(System.String,Microsoft.VisualStudio.Utilities.IContentType)">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> that opens and loads the contents of the file into a new <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" />.</returns>
      <param name="filePath">The full path to the file to be loaded.</param>
      <param name="contentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> for the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="filePath" /> or <paramref name="contentType" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocumentFactoryService.CreateAndLoadTextDocument(System.String,Microsoft.VisualStudio.Utilities.IContentType,System.Boolean,System.Boolean@)">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> that opens and loads the contents of the file into a new <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" />.</returns>
      <param name="filePath">The full path to the file to be loaded.</param>
      <param name="contentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> for the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</param>
      <param name="attemptUtf8Detection">Whether to attempt to load the document as a UTF-8 file.</param>
      <param name="characterSubstitutionsOccurred">[out] Set to true if some of the file bytes could not be directly translated using the given encoding.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="filePath" /> or <paramref name="contentType" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocumentFactoryService.CreateAndLoadTextDocument(System.String,Microsoft.VisualStudio.Utilities.IContentType,System.Text.Encoding,System.Boolean@)">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> that opens and loads the contents of the file into a new <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" />.</returns>
      <param name="filePath">The full path to the file to be loaded.</param>
      <param name="contentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> for the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</param>
      <param name="encoding">The encoding to use. The decoder part of the Encoding object will not be used.</param>
      <param name="characterSubstitutionsOccurred">[out] Set to true if some of the file bytes could not be directly translated using the given encoding.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="filePath" />, <paramref name="contentType" />, or <paramref name="encoding" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocumentFactoryService.CreateTextDocument(Microsoft.VisualStudio.Text.ITextBuffer,System.String)">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> with <paramref name="textBuffer" />, which is to be saved to the file.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" />.</returns>
      <param name="textBuffer">The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> to be saved to the file.</param>
      <param name="filePath">The full path to the file.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="textBuffer" /> or <paramref name="filePath" /> is null.</exception>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextDocumentFactoryService.TextDocumentCreated">
      <summary>Occurs when an <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> is created.</summary>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.ITextDocumentFactoryService.TextDocumentDisposed">
      <summary>Occurs when an <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> is disposed.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextDocumentFactoryService.TryGetTextDocument(Microsoft.VisualStudio.Text.ITextBuffer,Microsoft.VisualStudio.Text.ITextDocument@)">
      <summary>Retrieve an <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> for the given buffer, if one exists.</summary>
      <returns>true if a document exists for this buffer, false otherwise.</returns>
      <param name="textBuffer">The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> for which to get a document.</param>
      <param name="textDocument">The <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> for this buffer, if one exists.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="textBuffer" /> is null.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextEdit">
      <summary>Represents a set of editing operations on an <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />. </summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextEdit.Delete(Microsoft.VisualStudio.Text.Span)">
      <summary>Deletes a sequence of characters from the buffer.</summary>
      <returns>true if the deletion succeeded, false if it was prevented by a read-only region.</returns>
      <param name="deleteSpan">The span of characters to delete.</param>
      <exception cref="T:System.InvalidOperationException">The <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Apply" /> or <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Cancel" /> or <see cref="M:System.IDisposable.Dispose" /> method has previously been called on this object.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">deleteSpan.End is greater than the length of the buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextEdit.Delete(System.Int32,System.Int32)">
      <summary>Deletes a sequence of characters from the buffer.</summary>
      <returns>true if the deletion succeeded; false if it was prevented by a read-only region.</returns>
      <param name="startPosition">The position of the first character to delete.</param>
      <param name="charsToDelete">The number of characters to delete.</param>
      <exception cref="T:System.InvalidOperationException">The <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Apply" /> or <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Cancel" /> or <see cref="M:System.IDisposable.Dispose" /> method has previously been called on this object.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="startPosition" /> is less than zero or greater than the length of the buffer, or <paramref name="charsToDelete" /> is less than zero, or <paramref name="startPosition" /> + <paramref name="charsToDelete" /> is greater than the length of the buffer.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextEdit.HasEffectiveChanges">
      <summary>Determines whether the edit has changes in non-read-only regions.</summary>
      <returns>true if the edit has changes in non-read-only regions, otherwise false. </returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextEdit.HasFailedChanges">
      <summary>Determines whether any changes failed to be added to this edit due to read-only regions.</summary>
      <returns>true if any changes failed to be added to this edit due to read-only regions, otherwise false.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextEdit.Insert(System.Int32,System.Char[],System.Int32,System.Int32)">
      <summary>Inserts an array of characters at the specified position in the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>true if the insertion succeeded, false if it was prevented by a read-only region.</returns>
      <param name="position">The buffer position at which the first character of the text will appear.</param>
      <param name="characterBuffer">The character array from which characters will be inserted.</param>
      <param name="startIndex">The index in <paramref name="characterBuffer" /> of the first character to insert.</param>
      <param name="length">The number of characters to insert from <paramref name="characterBuffer" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="characterBuffer" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Apply" /> or <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Cancel" /> or <see cref="M:System.IDisposable.Dispose" /> method has previously been called on this object.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the length of the buffer, or <paramref name="startIndex" /> is less than zero, or <paramref name="length" /> is less than zero, or <paramref name="startIndex" /> + <paramref name="length" /> is greater than the length of <paramref name="characterBuffer" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextEdit.Insert(System.Int32,System.String)">
      <summary>Inserts the given <paramref name="text" /> at the specified <paramref name="position" />in the text buffer.</summary>
      <returns>true if the insertion succeeded, false if it failed due to a read-only region.</returns>
      <param name="position">The buffer position at which the first character of the text will appear.</param>
      <param name="text">The text to be inserted.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="text" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Apply" /> or <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Cancel" /> or <see cref="M:System.IDisposable.Dispose" /> method has previously been called on this object.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the length of the buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextEdit.Replace(Microsoft.VisualStudio.Text.Span,System.String)">
      <summary>Replaces a sequence of characters with different text. </summary>
      <returns>true if the replacement succeeded, false if it was prevented by a read-only region.</returns>
      <param name="replaceSpan">The span of characters to replace.</param>
      <param name="replaceWith">The new text.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="replaceWith" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Apply" /> or <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Cancel" /> or <see cref="M:System.IDisposable.Dispose" /> method has previously been called on this object.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">replaceSpan.End is greater than the length of the buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextEdit.Replace(System.Int32,System.Int32,System.String)">
      <summary>Replaces a sequence of characters with different text. </summary>
      <returns>true if the replacement succeeded; false if it was prevented by a read-only region.</returns>
      <param name="startPosition">The buffer position at which to start replacing.</param>
      <param name="charsToReplace">The number of characters to replace.</param>
      <param name="replaceWith">The new text.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="replaceWith" /> is null.</exception>
      <exception cref="T:System.InvalidOperationException">The <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Apply" /> or <see cref="M:Microsoft.VisualStudio.Text.ITextBufferEdit.Cancel" /> or <see cref="M:System.IDisposable.Dispose" /> method has previously been called on this object.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="startPosition" /> is less than zero or greater than the length of the buffer, or <paramref name="charsToReplace" /> is less than zero, or <paramref name="startPosition" /> + <paramref name="charsToReplace" /> is greater than the length of the buffer.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextSnapshot">
      <summary>Provides read access to an immutable snapshot of a <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> that contains a sequence of Unicode characters. </summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshot.ContentType">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> of the <see cref="P:Microsoft.VisualStudio.Text.ITextSnapshot.TextBuffer" /> when this snapshot was current.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" />.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.CopyTo(System.Int32,System.Char[],System.Int32,System.Int32)">
      <summary>Copies a range of text to a character array.</summary>
      <param name="sourceIndex">The starting index in the text snapshot.</param>
      <param name="destination">The destination array.</param>
      <param name="destinationIndex">The index in the destination array at which to start copying the text.</param>
      <param name="count">The number of characters to copy.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="destination" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="sourceIndex" /> is less than zero or greater than the length of the snapshot, or <paramref name="count" /> is less than zero, or <paramref name="sourceIndex" /> plus <paramref name="count" /> is greater than the length of the snapshot, or <paramref name="destinationIndex" /> is less than zero, or <paramref name="destinationIndex" /> plus <paramref name="count" /> is greater than the length of <paramref name="destination" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.CreateTrackingPoint(System.Int32,Microsoft.VisualStudio.Text.PointTrackingMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingPoint" /> in this snapshot.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingPoint" />.</returns>
      <param name="position">The position of the point.</param>
      <param name="trackingMode">The tracking mode of the point.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the length of the snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.CreateTrackingPoint(System.Int32,Microsoft.VisualStudio.Text.PointTrackingMode,Microsoft.VisualStudio.Text.TrackingFidelityMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingPoint" /> in this snapshot.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingPoint" />.</returns>
      <param name="position">The position of the point.</param>
      <param name="trackingMode">The tracking mode of the point.</param>
      <param name="trackingFidelity">The tracking fidelity of the point.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the length of the snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.CreateTrackingSpan(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.SpanTrackingMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this snapshot.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.</returns>
      <param name="span">The span of text in this snapshot.</param>
      <param name="trackingMode">How the tracking span will react to changes at its boundaries.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The end of the span is greater than the length of the text snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.CreateTrackingSpan(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.TrackingFidelityMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this snapshot.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.</returns>
      <param name="span">The span of text in this snapshot.</param>
      <param name="trackingMode">How the tracking span should react to changes at its boundaries.</param>
      <param name="trackingFidelity">The tracking fidelity of the span.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The end of the span is greater than the length of the text snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.CreateTrackingSpan(System.Int32,System.Int32,Microsoft.VisualStudio.Text.SpanTrackingMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this snapshot.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.</returns>
      <param name="start">The starting position of the tracking span.</param>
      <param name="length">The length of the tracking span.</param>
      <param name="trackingMode">How the tracking span should react to changes at its boundaries.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="start" /> is negative or greater than <see cref="P:Microsoft.VisualStudio.Text.ITextSnapshot.Length" />, or <paramref name="length" /> is negative, or <paramref name="start" /> plus <paramref name="length" /> is less than <paramref name="start" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.CreateTrackingSpan(System.Int32,System.Int32,Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.TrackingFidelityMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this snapshot.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.</returns>
      <param name="start">The starting position of the tracking span.</param>
      <param name="length">The length of the tracking span.</param>
      <param name="trackingMode">How the tracking span should react to changes at its boundaries.</param>
      <param name="trackingFidelity">The tracking fidelity mode.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="start" /> is negative or greater than <see cref="P:Microsoft.VisualStudio.Text.ITextSnapshot.Length" />, or <paramref name="length" /> is negative, or <paramref name="start" /> plus <paramref name="length" /> is less than <paramref name="start" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.GetLineFromLineNumber(System.Int32)">
      <summary>Gets an <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshotLine" /> for the given line number.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshotLine" />.</returns>
      <param name="lineNumber">The line number.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="lineNumber" /> is less than zero, or greater than or equal to the line count.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.GetLineFromPosition(System.Int32)">
      <summary>Gets an <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshotLine" /> for a line at the given position.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshotLine" />.</returns>
      <param name="position">The position.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the length of the line.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.GetLineNumberFromPosition(System.Int32)">
      <summary>Gets the number of the line that contains the character at the specified position.</summary>
      <returns>The line number of the line in which <paramref name="position" /> lies.</returns>
      <param name="position">The position from which to get the line number.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the length of the line.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.GetText">
      <summary>Gets all the text in the snapshot.</summary>
      <returns>A non-null string.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.GetText(Microsoft.VisualStudio.Text.Span)">
      <summary>Gets text from the snapshot starting at the beginning of the span and having a length equal to the length of the span.</summary>
      <returns>A non-null string.</returns>
      <param name="span">The span to return.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The end of the span is greater than <see cref="P:Microsoft.VisualStudio.Text.ITextSnapshot.Length" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.GetText(System.Int32,System.Int32)">
      <summary>Gets text from the snapshot starting at <paramref name="startIndex" /> and having a length equal to <paramref name="length" />.</summary>
      <returns>The string of length <paramref name="length" /> starting at <paramref name="startIndex" /> in the underlying <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</returns>
      <param name="startIndex">The starting index.</param>
      <param name="length">The length of text to get.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="startIndex" /> is less than zero or greater than the length of the snapshot, or <paramref name="length" /> is less than zero, or <paramref name="startIndex" /> plus <paramref name="length" /> is greater than the length of the snapshot.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshot.Item(System.Int32)">
      <summary>Gets one character at the specified position.</summary>
      <returns>The character at <paramref name="position" />.</returns>
      <param name="position">The position of the character.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero, or greater than or equal to the length of the snapshot.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshot.Length">
      <summary>Gets the number of UTF-16 characters in the snapshot.</summary>
      <returns>The number of characters.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshot.LineCount">
      <summary>Gets the number of lines in the snapshot. </summary>
      <returns>The number of lines.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshot.Lines">
      <summary>Gets an enumerator for the set of lines in the snapshot.</summary>
      <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1" /> of type <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshotLine" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshot.TextBuffer">
      <summary>The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> of which this is a snapshot.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.ToCharArray(System.Int32,System.Int32)">
      <summary>Converts a range of text to a character array.</summary>
      <returns>The array of characters starting at <paramref name="startIndex" /> in the underlying <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> and extending to its end.</returns>
      <param name="startIndex">The starting index of the range of text.</param>
      <param name="length">The length of the text.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="startIndex" /> is less than zero or greater than the length of the snapshot, or <paramref name="length" /> is less than zero, or <paramref name="startIndex" /> plus <paramref name="length" /> is greater than the length of the snapshot.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshot.Version">
      <summary>The version of the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> that this <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> represents.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" />.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.Write(System.IO.TextWriter)">
      <summary>Writes the contents of the snapshot.</summary>
      <param name="writer">The <see cref="T:System.IO.TextWriter" /> to use.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="writer" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshot.Write(System.IO.TextWriter,Microsoft.VisualStudio.Text.Span)">
      <summary>Writes a substring of the contents of the snapshot.</summary>
      <param name="writer">The <see cref="T:System.IO.TextWriter" /> to use.</param>
      <param name="span">The span of text to write.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="writer" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">The end of the span is greater than the length of the snapshot. </exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextSnapshotLine">
      <summary>Represents a line of text from an <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshotLine.End">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> of the first character past the end of the line, excluding any line break characters.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> of the first character past the end of the line, excluding any line break characters.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshotLine.EndIncludingLineBreak">
      <summary>The <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> of the first character past the end of the line, including any line break characters.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> of the first character past the end of the line, including any line break characters.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshotLine.Extent">
      <summary>Gets the extent of the line, excluding any line break characters.</summary>
      <returns>The extent of the line, excluding any line break characters.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshotLine.ExtentIncludingLineBreak">
      <summary>Gets the extent of the line, including any line break characters.</summary>
      <returns>The extent of the line, including any line break characters.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshotLine.GetLineBreakText">
      <summary>Gets the string consisting of the line break characters (if any) at the end of the line. </summary>
      <returns>The string.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshotLine.GetText">
      <summary>Gets the text of the line, excluding any line break characters.</summary>
      <returns>The text of the line.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextSnapshotLine.GetTextIncludingLineBreak">
      <summary>Gets the text of the line, including any line break characters.</summary>
      <returns>The text of the line.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshotLine.Length">
      <summary>Gets the length of the line, excluding any line break characters.</summary>
      <returns>The length of the line, excluding any line break characters.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshotLine.LengthIncludingLineBreak">
      <summary>Gets the length of the line, including any line break characters.</summary>
      <returns>The length of the line, including any line break characters.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshotLine.LineBreakLength">
      <summary>Gets the length of line break characters (always falls in the range [0..2]).</summary>
      <returns>The length of line break characters (always falls in the range [0..2]).</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshotLine.LineNumber">
      <summary>Gets the 0-based line number of the line.</summary>
      <returns>The 0-based line number of the line.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshotLine.Snapshot">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> in which the line appears.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> in which the line appears.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextSnapshotLine.Start">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> of the first character in the line.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> of the first character in the line.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITextVersion">
      <summary>Describes a version of an <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />. Each application of an <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> to a text buffer generates a new <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" />.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextVersion.Changes">
      <summary>Gets the text changes that produce the next version. </summary>
      <returns>The text changes.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextVersion.CreateCustomTrackingSpan(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.TrackingFidelityMode,System.Object,Microsoft.VisualStudio.Text.CustomTrackToVersion)">
      <summary>Creates a custom <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this version.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.</returns>
      <param name="span">The span of text in this snapshot that the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> should represent.</param>
      <param name="trackingFidelity">The tracking fidelity of the span.</param>
      <param name="customState">Client-defined state associated with the span.</param>
      <param name="behavior">The custom tracking behavior.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">span.End is greater than <see cref="P:Microsoft.VisualStudio.Text.ITextVersion.Length" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextVersion.CreateTrackingPoint(System.Int32,Microsoft.VisualStudio.Text.PointTrackingMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingPoint" /> in this version.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingPoint" />.</returns>
      <param name="position">The position of the point.</param>
      <param name="trackingMode">The tracking mode of the point.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the length of this version.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextVersion.CreateTrackingPoint(System.Int32,Microsoft.VisualStudio.Text.PointTrackingMode,Microsoft.VisualStudio.Text.TrackingFidelityMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingPoint" /> in this version.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingPoint" />.</returns>
      <param name="position">The position of the point.</param>
      <param name="trackingMode">The tracking mode of the point.</param>
      <param name="trackingFidelity">The tracking fidelity of the point.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the length of the snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextVersion.CreateTrackingSpan(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.SpanTrackingMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this version.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.</returns>
      <param name="span">The span of text in this snapshot that the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> should represent.</param>
      <param name="trackingMode">How the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> will react to changes at its boundaries.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">span.End is greater than the length of this version, or <paramref name="trackingMode" /> is equal to <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.Custom" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextVersion.CreateTrackingSpan(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.TrackingFidelityMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this version.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.</returns>
      <param name="span">The span of text in this snapshot that the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> should represent.</param>
      <param name="trackingMode">How the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> will react to changes at its boundaries.</param>
      <param name="trackingFidelity">The tracking fidelity of the span.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">span.End is greater than <see cref="P:Microsoft.VisualStudio.Text.ITextVersion.Length" />, or <paramref name="trackingMode" /> is equal to <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.Custom" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextVersion.CreateTrackingSpan(System.Int32,System.Int32,Microsoft.VisualStudio.Text.SpanTrackingMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this version.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.</returns>
      <param name="start">The starting position of the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this version.</param>
      <param name="length">The length of the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this version.</param>
      <param name="trackingMode">How the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> will react to changes at its boundaries.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="start" /> is negative or greater than the length of this version, or <paramref name="length" /> is negative, or <paramref name="start" /> + <paramref name="length" /> is less than <paramref name="start" />, or <paramref name="trackingMode" /> is equal to <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.Custom" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITextVersion.CreateTrackingSpan(System.Int32,System.Int32,Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.TrackingFidelityMode)">
      <summary>Creates a <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this version.</summary>
      <returns>A non-null <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.</returns>
      <param name="start">The starting position of the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this snapshot.</param>
      <param name="length">The length of the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> in this snapshot.</param>
      <param name="trackingMode">How the <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> will react to changes at its boundaries.</param>
      <param name="trackingFidelity">The tracking fidelity mode.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="start" /> is negative or greater than <see cref="P:Microsoft.VisualStudio.Text.ITextVersion.Length" />, or <paramref name="length" /> is negative, or <paramref name="start" /> + <paramref name="length" /> is less than <paramref name="start" />, or <paramref name="trackingMode" /> is equal to <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.Custom" />.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextVersion.Length">
      <summary>Gets the length in characters of this <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" />.</summary>
      <returns>The number of characters in this version.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextVersion.Next">
      <summary>Gets the next <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" />. </summary>
      <returns>The next text version.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextVersion.ReiteratedVersionNumber">
      <summary>Gets the oldest version number for which all text changes between that version and this version have been canceled out by corresponding undo/redo operations.</summary>
      <returns>The oldest version number.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextVersion.TextBuffer">
      <summary>The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> to which this <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" /> applies.</summary>
      <returns>The text buffer.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITextVersion.VersionNumber">
      <summary>The version number for this version, used for comparisons between versions of the same buffer.</summary>
      <returns>The version number.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITrackingPoint">
      <summary>A tracking position in an <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITrackingPoint.GetCharacter(Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Maps this tracking point to the specified snapshot and gets the character at that position.</summary>
      <returns>The character at the specified position.</returns>
      <param name="snapshot">The snapshot to which to map the position.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The tracking point is at the end position of the snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITrackingPoint.GetPoint(Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Maps the tracking point to a particular snapshot of its <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" />.</returns>
      <param name="snapshot">The snapshot to which to map the tracking point.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="snapshot" /> is not a snapshot of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITrackingPoint.GetPosition(Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Gets the position of the tracking point in the specified <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</summary>
      <returns>A position in the given snapshot.</returns>
      <param name="snapshot">The snapshot to which to map the position.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="snapshot" /> is not a snapshot of <see cref="P:Microsoft.VisualStudio.Text.ITrackingPoint.TextBuffer" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITrackingPoint.GetPosition(Microsoft.VisualStudio.Text.ITextVersion)">
      <summary>Gets the position of the tracking point in the specified <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" />.</summary>
      <returns>A position in the given version.</returns>
      <param name="version">The version to which to map the position.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="version" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="version" /> is not a version of <see cref="P:Microsoft.VisualStudio.Text.ITrackingPoint.TextBuffer" />.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITrackingPoint.TextBuffer">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> to which this point refers.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> to which this point refers.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITrackingPoint.TrackingFidelity">
      <summary>Determines how the tracking point behaves when moving to a previous version or when encountering versions that are replications of previous versions (due to undo or redo).</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.TrackingFidelityMode" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITrackingPoint.TrackingMode">
      <summary>Determines whether the tracking point shifts or remains stationary when insertions occur at its position.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.PointTrackingMode" />.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ITrackingSpan">
      <summary>A span of text in an <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> that grows or shrinks with changes to the text buffer. The span may be empty.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITrackingSpan.GetEndPoint(Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Maps the end of the tracking span to the specified snapshot of its text buffer.</summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> of the specified snapshot.</returns>
      <param name="snapshot">The snapshot to which to map the end point.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="snapshot" /> is not a snapshot of <see cref="P:Microsoft.VisualStudio.Text.ITrackingSpan.TextBuffer" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITrackingSpan.GetSpan(Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Maps the tracking span to the specified snapshot of its text buffer.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" />.</returns>
      <param name="snapshot">The snapshot to which to map the tracking span.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="snapshot" /> is not a snapshot of <see cref="P:Microsoft.VisualStudio.Text.ITrackingSpan.TextBuffer" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITrackingSpan.GetSpan(Microsoft.VisualStudio.Text.ITextVersion)">
      <summary>Maps the tracking span to the specified version of its text buffer.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Span" />.</returns>
      <param name="version">The version to which to map the tracking span.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="version" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="version" /> is not a version of <see cref="P:Microsoft.VisualStudio.Text.ITrackingSpan.TextBuffer" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITrackingSpan.GetStartPoint(Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Maps the start of the tracking span to the specified snapshot of its text buffer.</summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> of the provided snapshot.</returns>
      <param name="snapshot">The snapshot to which to map the start point.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="snapshot" /> is not a snapshot of <see cref="P:Microsoft.VisualStudio.Text.ITrackingSpan.TextBuffer" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.ITrackingSpan.GetText(Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Maps the tracking span to the specified snapshot of its text buffer and gets the text it designates.</summary>
      <returns>The contents of the tracking span in the specified text snapshot.</returns>
      <param name="snapshot">The snapshot to which to map the tracking span.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="snapshot" /> is not a snapshot of <see cref="P:Microsoft.VisualStudio.Text.ITrackingSpan.TextBuffer" />.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITrackingSpan.TextBuffer">
      <summary>The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> to which this tracking span refers.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITrackingSpan.TrackingFidelity">
      <summary>The <see cref="T:Microsoft.VisualStudio.Text.TrackingFidelityMode" /> of the tracking span. </summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.TrackingFidelityMode" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.ITrackingSpan.TrackingMode">
      <summary>The <see cref="T:Microsoft.VisualStudio.Text.SoanTrackingMode" /> of this tracking span, which determines how it behaves when insertions occur at its edges.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.SoanTrackingMode" />.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection">
      <summary>A read-only collection of <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> objects, all from the same snapshot.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.#ctor">
      <summary>Initializes an empty <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" />.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" /> from a <see cref="T:Microsoft.VisualStudio.Text.NormalizedSpanCollection" /> and a <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</summary>
      <param name="snapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> to apply to <paramref name="spans" />.</param>
      <param name="spans">The <see cref="T:Microsoft.VisualStudio.Text.NormalizedSpanCollection" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> or <paramref name="spans" /> is null.</exception>
      <exception cref="T:System.ArgumentException">The spans in <paramref name="spans" /> extend beyond the end of <paramref name="snapshot" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.Span)"></member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.Text.Span})">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" /> from a list of <see cref="T:Microsoft.VisualStudio.Text.Span" /> objects and a <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</summary>
      <param name="snapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> to apply to <paramref name="spans" />.</param>
      <param name="spans">A set of <see cref="T:Microsoft.VisualStudio.Text.Span" /> objects.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> or <paramref name="spans" /> is null.</exception>
      <exception cref="T:System.ArgumentException">The spans in <paramref name="spans" /> extend beyond the end of <paramref name="snapshot" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,System.Collections.Generic.IList{Microsoft.VisualStudio.Text.Span})">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" /> from a <see cref="T:Microsoft.VisualStudio.Text.NormalizedSpanCollection" /> and a <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</summary>
      <param name="snapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />"/&gt; to apply to &lt; <paramref name="spans" />.</param>
      <param name="spans">The normalized spans.</param>
      <exception cref="&quot;T:System.ArgumentNullException">
        <paramref name="snapshot" /> or <paramref name="spans" /> is null.</exception>
      <exception cref="T:System.ArgumentException">The spans in <paramref name="spans" /> extend beyond the end of <paramref name="snapshot" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.#ctor(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" /> with a single element.</summary>
      <param name="span">The single member of the collection.</param>
      <exception cref="T:System.ArgumentException">
        <paramref name="span" /> is not initialized.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.#ctor(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.Text.SnapshotSpan})">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" /> from a list of <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> objects.</summary>
      <param name="snapshotSpans">A set of <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> objects.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshotSpans" /> is null.</exception>
      <exception cref="T:System.ArgumentException">A <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> is uninitialized, or it does not refer to the same <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> as the other snapshot spans, or it refers to an uninitialized <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.#ctor(System.Collections.Generic.IList{Microsoft.VisualStudio.Text.SnapshotSpan})">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" /> from a list of <see cref="T:Microsoft.VisualStudio.Text.Span" /> objects.</summary>
      <param name="snapshotSpans">An arbitrary set of &lt; <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> objects.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> or <paramref name="spans" /> is null.</exception>
      <exception cref="T:System.ArgumentException">A <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> is uninitialized, or it does not refer to the same T<see cref=":Microsoft.VisualStudio.Text.ITextSnapshot" /> as the other snapshot spans, or it refers to an uninitialized <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.CloneAndTrackTo(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.SpanTrackingMode)"></member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.Contains(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Determines whether the collection contains the specified snapshot span.</summary>
      <returns>true if the collection contains the snapshot span, otherwise false.</returns>
      <param name="item">The snapshot span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.Contains(System.Object)">
      <summary>Determines whether the collection contains the specified snapshot span.</summary>
      <returns>true if the snapshot span is contained in the collection, otherwise false.</returns>
      <param name="value">The snapshot span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.CopyTo(Microsoft.VisualStudio.Text.SnapshotSpan[],System.Int32)">
      <summary>Copies the collection to the specified array of snapshot spans at the specified location.</summary>
      <param name="array">The array of snapshot spans.</param>
      <param name="arrayIndex">The location to which to start copying the snapshot spans.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="arrayIndex" /> is negative or greater than the array length, or the number of spans in the collection is greater than the length of the array minus the array index.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.CopyTo(System.Array,System.Int32)">
      <summary>Copies the snapshot spans in this collection to the specified array, starting at the specified index.</summary>
      <param name="array">The array.</param>
      <param name="index">The location at which to start copying.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="array" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="array" /> is not one-dimensional.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="index" /> is negative, or greater than the length of the array, or the number of spans is greater than the length of the array less the index.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.Count">
      <summary>Gets the number of spans in the collection.</summary>
      <returns>The number of spans in the collection.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.Difference(Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection,Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection)">
      <summary>Calculates the difference between two normalized snapshot span collections and normalizes the result.</summary>
      <returns>The (normalized) set of differences between the normalized snapshot span collections..</returns>
      <param name="left">The first normalized span collection.</param>
      <param name="right">The second normalized span collection.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> is null.</exception>
      <exception cref="T:System.ArgumentException">The collections refer to different snapshots.</exception>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.Empty"></member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.Equals(System.Object)">
      <summary>Determines whether two snapshot span collections are the same.</summary>
      <returns>true if the two collections are the same, otherwise false.</returns>
      <param name="obj">The second collection.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.GetEnumerator">
      <summary>Gets an enumerator for the collection.</summary>
      <returns>The enumerator.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.GetHashCode">
      <summary>Gets a hash code for the collection.</summary>
      <returns>A 32-bit hash code associated with the collection.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.IndexOf(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Gets the index of the specified <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" />.</summary>
      <returns>The index of the snapshot span.</returns>
      <param name="item">The <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" />.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.IndexOf(System.Object)">
      <summary>Gets the index of the specified snapshot span.</summary>
      <returns>The location of the snapshot span.</returns>
      <param name="value">The snapshot span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.Intersection(Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection,Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection)">
      <summary>Calculates the intersection of two normalized snapshot span collections and normalizes the result.</summary>
      <returns>The normalized set of intersecting spans.</returns>
      <param name="left">The first <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" />.</param>
      <param name="right">The second <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> is null.</exception>
      <exception cref="T:System.ArgumentException">The collections refer to different snapshots.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.IntersectsWith(Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection)">
      <summary>Determines whether this collection intersects with another normalized snapshot span collection.</summary>
      <returns>true if the collections intersect, otherwise false.</returns>
      <param name="set">The collection.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="set" /> is null.</exception>
      <exception cref="T:System.ArgumentException">The collections refer to different snapshots.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.IntersectsWith(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Determines whether this collection overlaps with a snapshot span.</summary>
      <returns>True if the collections intersect, otherwise false</returns>
      <param name="span">The snapshot span to test</param>
      <exception cref="T:System.ArgumentException">The collection and the span refer to different snapshots.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.Item(System.Int32)">
      <summary>Gets the snapshot span at the specified location.</summary>
      <returns>The snapshot span.</returns>
      <param name="index">The location at which to get the snapshot span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.op_Equality(Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection,Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection)">
      <summary>Determines whether two <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" /> objects are the same.</summary>
      <returns>true if the two sets are the same, otherwise false.</returns>
      <param name="left">The first collection.</param>
      <param name="right">The second collection.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.op_Implicit(Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection)~Microsoft.VisualStudio.Text.NormalizedSpanCollection">
      <summary>Converts the specified <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" /> to a <see cref="T:Microsoft.VisualStudio.Text.NormalizedSpanCollection" />.</summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.NormalizedSpanCollection" /> containing the corresponding normalized collection of <see cref="T:Microsoft.VisualStudio.Text.Span" /> objects.</returns>
      <param name="spans">The collection to convert.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.op_Inequality(Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection,Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection)">
      <summary>Determines whether two <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" /> are different.</summary>
      <returns>true if the two collections are different, otherwise false.</returns>
      <param name="left">The first collection.</param>
      <param name="right">The second collection.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.Overlap(Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection,Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection)">
      <summary>Calculates the overlap of two normalized snapshot span collections and normalizes the result.</summary>
      <returns>The normalized set of overlapping snapshot spans.</returns>
      <param name="left">The first <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" />.</param>
      <param name="right">The second <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" /></param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> is null.</exception>
      <exception cref="T:System.ArgumentException">The input collections refer to different snapshots.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.OverlapsWith(Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection)">
      <summary>Determines whether this normalized snapshot span collection overlaps with another collection.</summary>
      <returns>true if the collections refer to the same snapshot and their spans overlap, otherwise false.</returns>
      <param name="set">The normalized snapshot span collection.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="set" /> is null.</exception>
      <exception cref="T:System.ArgumentException">The collections refer to different snapshots.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.OverlapsWith(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Determines whether this span set overlaps with another span.</summary>
      <returns>true if this span set overlaps with the given span, otherwise false.</returns>
      <param name="span">The span to test.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#Generic#ICollection{T}#Add(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Adds a snapshot span to the collection. This method throws a <see cref="T:System.NotSupportedException" />.</summary>
      <param name="item">The item to add.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#Generic#ICollection{T}#Clear">
      <summary>Clears the collection. This method throws a <see cref="T:System.NotSupportedException" />.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#Generic#ICollection{T}#IsReadOnly">
      <summary>Determines whether the collection is read-only. Always returns true.</summary>
      <returns>Always returns true.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#Generic#ICollection{T}#Remove(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Removes the specified span from the collection. This method throws a <see cref="T:System.NotSupportedException" />.</summary>
      <returns>true if it was possible to remove the span. This method throws a <see cref="T:System.NotSupportedException" />.</returns>
      <param name="item">The item to remove.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#Generic#IList{T}#Insert(System.Int32,Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Inserts a snapshot span into the list. This method throws a <see cref="T:System.NotSupportedException" />.</summary>
      <param name="index">The location at which to insert the snapshot span.</param>
      <param name="item">The snapshot span to insert.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#Generic#IList{T}#RemoveAt(System.Int32)">
      <summary>Removes a snapshot span at the specified location. This method throws a <see cref="T:System.NotSupportedException" />.</summary>
      <param name="index">The location at which to remove the snapshot span.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#ICollection#IsSynchronized">
      <summary>Determines whether this collection is synchronized.</summary>
      <returns>true if the collection is synchronized, otherwise false.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#ICollection#SyncRoot">
      <summary>Gets an object that can be used to synchronized access to this collection.</summary>
      <returns>The object that can be used to synchronized access to this collection.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#IEnumerable#GetEnumerator">
      <summary>Gets an enumerator for the collection.</summary>
      <returns>The enumerator.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#IList#Add(System.Object)">
      <summary>Adds an object to the list. This method throws a <see cref="T:System.NotSupportedException" />.</summary>
      <returns>The location at which the object was added. . This method throws a <see cref="T:System.NotSupportedException" />.</returns>
      <param name="value">The object to add.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#IList#Clear">
      <summary>Clears the list. This method throws a <see cref="T:System.NotSupportedException" />.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#IList#Insert(System.Int32,System.Object)">
      <summary>Inserts a snapshot span into the list at the specified location. This method throws a <see cref="T:System.NotSupportedException" />.</summary>
      <param name="index">The location.</param>
      <param name="value">The snapshot span.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#IList#IsFixedSize">
      <summary>Determines whether the collection is of fixed size. Always returns true.</summary>
      <returns>Always returns true.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#IList#IsReadOnly">
      <summary>Determines whether this collection is read-only. This property always returns true.</summary>
      <returns>This property always returns true.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#IList#Item(System.Int32)">
      <summary>Gets the snapshot span at the specified location. </summary>
      <returns>The snapshot span.</returns>
      <param name="index">The location.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#IList#Remove(System.Object)">
      <summary>Removes the specified snapshot span. This method throws a <see cref="T:System.NotSupportedException" />.</summary>
      <param name="value">The snapshot span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.System#Collections#IList#RemoveAt(System.Int32)">
      <summary>Removes a snapshot span at the specified location. This method throws a <see cref="T:System.NotSupportedException" />.</summary>
      <param name="index">The location.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.ToString">
      <summary>Converts the spans to a string.</summary>
      <returns>The string representation.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection.Union(Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection,Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection)">
      <summary>Calculates the union of two snapshot span collections and normalizes the result.</summary>
      <returns>The normalized union of the two collections.</returns>
      <param name="left">The first <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" />.</param>
      <param name="right">The second <see cref="T:Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> is null.</exception>
      <exception cref="T:System.ArgumentException">The collections refer to different snapshots.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.NormalizedSpanCollection">
      <summary>A collection of spans that are sorted by start position, with adjacent and overlapping spans combined.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.#ctor">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.NormalizedSpanCollection" /> that is empty.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.#ctor(Microsoft.VisualStudio.Text.Span)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.NormalizedSpanCollection" /> that contains the specified span.</summary>
      <param name="span">The span contained by the span set.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.#ctor(System.Collections.Generic.IEnumerable{Microsoft.VisualStudio.Text.Span})">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.NormalizedSpanCollection" /> that contains the specified list of spans.</summary>
      <param name="spans">The spans to be added.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="spans" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.Difference(Microsoft.VisualStudio.Text.NormalizedSpanCollection,Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Finds the difference between two sets. The difference is defined as everything in the first span set that is not in the second span set.</summary>
      <returns>The new span set that corresponds to the difference between <paramref name="left" /> and <paramref name="right" />.</returns>
      <param name="left">The first span set.</param>
      <param name="right">The second span set.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> is null.</exception>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.NormalizedSpanCollection.Empty"></member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.Equals(System.Object)">
      <summary>Determines whether this span set is the same as another object.</summary>
      <returns>true if the two objects are equal, otherwise false.</returns>
      <param name="obj">The other normalized span collection to test.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.GetHashCode">
      <summary>Gets a unique hash code for the span set.</summary>
      <returns>A 32-bit hash code associated with the set.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.Intersection(Microsoft.VisualStudio.Text.NormalizedSpanCollection,Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Finds the intersection of two span sets.</summary>
      <returns>The new span set that corresponds to the intersection of <paramref name="left" /> and <paramref name="right" />.</returns>
      <param name="left">The first span set.</param>
      <param name="right">The second span set.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.IntersectsWith(Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Determines whether this span set intersects with another span set.</summary>
      <returns>true if the span sets intersect, otherwise false.</returns>
      <param name="set">The second span set.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="set" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.IntersectsWith(Microsoft.VisualStudio.Text.Span)"></member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.op_Equality(Microsoft.VisualStudio.Text.NormalizedSpanCollection,Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Determines whether two span sets are the same.</summary>
      <returns>true if the two sets are equivalent, otherwise false.</returns>
      <param name="left">The first set.</param>
      <param name="right">The second set.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.op_Inequality(Microsoft.VisualStudio.Text.NormalizedSpanCollection,Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Determines whether two span sets are not the same.</summary>
      <returns>true if the two sets are not equivalent, otherwise false.</returns>
      <param name="left">The first set.</param>
      <param name="right">The second set.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.Overlap(Microsoft.VisualStudio.Text.NormalizedSpanCollection,Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Finds the overlap of two span sets.</summary>
      <returns>The new span set that corresponds to the overlap of <paramref name="left" /> and <paramref name="right" />.</returns>
      <param name="left">The first span set.</param>
      <param name="right">The second span set.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.OverlapsWith(Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Determines whether this span set overlaps with another span set.</summary>
      <returns>true if the span sets overlap, otherwise false.</returns>
      <param name="set">The span set to test.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="set" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.OverlapsWith(Microsoft.VisualStudio.Text.Span)"></member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.ToString">
      <summary>Provides a string representation of the set.</summary>
      <returns>The string representation of the set.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.NormalizedSpanCollection.Union(Microsoft.VisualStudio.Text.NormalizedSpanCollection,Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Finds the union of two span sets.</summary>
      <returns>The new span set that corresponds to the union of <paramref name="left" /> and <paramref name="right" />.</returns>
      <param name="left">The first span set.</param>
      <param name="right">The second span set.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="left" /> or <paramref name="right" /> is null.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.PointTrackingMode">
      <summary>Represents tracking modes for <see cref="T:Microsoft.VisualStudio.Text.ITrackingPoint" /> objects.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.PointTrackingMode.Negative">
      <summary>The point tracks toward the beginning of the document. An insertion at the current position leaves the point unaffected. If a replacement contains the point, it will end up at the beginning of the replacement text.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.PointTrackingMode.Positive">
      <summary>The point tracks toward the end of the document. An insertion at the current position pushes the point to the end of the inserted text. If a replacement contains the point, it will end up at the end of the replacement text.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.PositionAffinity">
      <summary>Describes whether a position in a <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> that can be thought of as lying between two characters is coupled to the preceding character or the following character.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.PositionAffinity.Predecessor">
      <summary>The position is coupled to the preceding character.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.PositionAffinity.Successor">
      <summary>The position is coupled to the following character.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.PreContentChangedEventArgs">
      <summary>Information provided before content changes.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.PreContentChangedEventArgs.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.INormalizedTextChangeCollection)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.PreContentChangedEventArgs" />.</summary>
      <param name="beforeSnapshot">A text snapshot before the change.</param>
      <param name="changes">The collection of changes.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.PreContentChangedEventArgs.BeforeSnapshot">
      <summary>Gets the text snapshot before the change.</summary>
      <returns>The text snapshot before the change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.PreContentChangedEventArgs.Changes">
      <summary>Gets the collection of changes.</summary>
      <returns>the collection of changes.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.ReloadResult">
      <summary>Represents the possible results of reloading a text document.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.ReloadResult.Aborted">
      <summary>The reload was blocked by the text document buffer's read-only regions or by a <see cref="E:Microsoft.VisualStudio.Text.ITextBuffer.Changing" /> event.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.ReloadResult.Succeeded">
      <summary>The reload completed.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.ReloadResult.SucceededWithCharacterSubstitutions">
      <summary>The reload completed, but some bytes could not be decoded and were replaced with a replacement character.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.SnapshotPoint">
      <summary>An immutable text position in a particular text snapshot.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,System.Int32)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> with respect to a particular snapshot and position.</summary>
      <param name="snapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</param>
      <param name="position">The position of the point.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.Add(System.Int32)">
      <summary>Creates a new snapshot point at the specified offset from this point.</summary>
      <returns>The new snapshot point.</returns>
      <param name="offset">The offset of the new point.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The new point is less than zero or greater than Snapshot.Length.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.CompareTo(Microsoft.VisualStudio.Text.SnapshotPoint)">
      <summary>Determines whether this snapshot is the same as a second snapshot point.</summary>
      <returns>A negative integer if the position of this snapshot point occurs before the second snapshot point, a positive integer if the position of this snapshot point occurs before the second snapshot point, and zero if the positions are the same.</returns>
      <param name="other">The second snapshot point.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.Difference(Microsoft.VisualStudio.Text.SnapshotPoint)">
      <summary>Calculates the offset between this snapshot point and another snapshot point.</summary>
      <returns>The offset between the two points, equivalent to other.Position - this.Position.</returns>
      <param name="other">The second snapshot point.</param>
      <exception cref="T:System.ArgumentException">The two points do not belong to the same snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.Equals(System.Object)">
      <summary>Determines whether this snapshot point is the same as a second snapshot point.</summary>
      <returns>true if the two objects are the same, otherwise false.</returns>
      <param name="obj">The second snapshot point.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.GetChar">
      <summary>Gets the character at the position of this snapshot point.</summary>
      <returns>The character at the position of this snapshot point.</returns>
      <exception cref="T:System.ArgumentOutOfRangeException">The position of this point is equal to the length of the snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.GetContainingLine">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshotLine" /> containing this snapshot point.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshotLine" />.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.GetHashCode">
      <summary>Serves as a hash function for this type.</summary>
      <returns>The hash code.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.op_Addition(Microsoft.VisualStudio.Text.SnapshotPoint,System.Int32)">
      <summary>Increments the position of a snapshot point.</summary>
      <returns>The incremented snapshot point.</returns>
      <param name="point">The point from which to calculate the new position.</param>
      <param name="offset">The offset of the new point.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The new point is less than zero or greater than Snapshot.Length.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.op_Equality(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.SnapshotPoint)">
      <summary>Determines whether this snapshot point is the same as a second snapshot point.</summary>
      <returns>true if the snapshot points are the same, otherwise false.</returns>
      <param name="left">The left-hand snapshot point.</param>
      <param name="right">The right-hand snapshot point.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.op_GreaterThan(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.SnapshotPoint)">
      <summary>Determines whether the position of one snapshot point is greater than the position of a second snapshot point.</summary>
      <returns>true if the first position is greater than the second position, otherwise false.</returns>
      <param name="left">The left-hand snapshot point.</param>
      <param name="right">The right-hand snapshot point.</param>
      <exception cref="T:System.ArgumentException">The two points do not belong to the same snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.op_Implicit(Microsoft.VisualStudio.Text.SnapshotPoint)~System.Int32">
      <summary>Implicitly converts the snapshot point to an integer equal to the position of the snapshot point in the snapshot.</summary>
      <returns>The integer equal to the position of the snapshot point in the snapshot.</returns>
      <param name="snapshotPoint">The snapshot point.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.op_Inequality(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.SnapshotPoint)">
      <summary>Determines whether this snapshot point is different from a second snapshot point.</summary>
      <returns>True if the two objects are different, otherwise false.</returns>
      <param name="left">The left-hand snapshot point.</param>
      <param name="right">The right-hand snapshot point.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.op_LessThan(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.SnapshotPoint)">
      <summary>Determines whether the position of the left point is less than the position of the right point.</summary>
      <returns>true if left.Position is greater than right.Position, otherwise false.</returns>
      <param name="left">The left-hand snapshot point.</param>
      <param name="right">The right-hand snapshot point.</param>
      <exception cref="T:System.ArgumentException">The two points do not belong to the same snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.op_Subtraction(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.SnapshotPoint)">
      <summary>Calculates the offset between two <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> objects.</summary>
      <returns>The offset between the two points, equivalent to start.Position - other.Position.</returns>
      <param name="start">The starting point.</param>
      <param name="other">The point from which to calculate the offset.</param>
      <exception cref="T:System.ArgumentException">The two points do not belong to the same snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.op_Subtraction(Microsoft.VisualStudio.Text.SnapshotPoint,System.Int32)">
      <summary>Decrements the position of a snapshot point.</summary>
      <returns>An integer representing the position.</returns>
      <param name="point">The point from which to calculate the new position.</param>
      <param name="offset">The offset of the new point.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The new point is less than zero or greater than Snapshot.Length.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.SnapshotPoint.Position">
      <summary>Gets the position of the point.</summary>
      <returns>A non-negative integer less than or equal to the length of the snapshot.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.SnapshotPoint.Snapshot">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> to which this snapshot point refers.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.Subtract(System.Int32)">
      <summary>Creates a new snapshot point at the specified negative offset from this point.</summary>
      <returns>The snapshot point.</returns>
      <param name="offset">The offset of the new point.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The new point is less than zero or greater than Snapshot.Length.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.ToString">
      <summary>Converts this snapshot point to a string.</summary>
      <returns>The string.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotPoint.TranslateTo(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.PointTrackingMode)">
      <summary>Translates this snapshot point to a different snapshot of the same <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>A new snapshot point that has been mapped to the requested snapshot.</returns>
      <param name="targetSnapshot">The snapshot to which to translate.</param>
      <param name="trackingMode">The <see cref="T:Microsoft.VisualStudio.Text.PointTrackingMode" /> to use in the translation.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="targetSnapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="targetSnapshot" /> does not refer to the same <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> as this snapshot point.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.SnapshotSpan">
      <summary>An immutable text span in a particular text snapshot.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.Span)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> with the specified snapshot and span.</summary>
      <param name="snapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> on which to base the snapshot span.</param>
      <param name="span">The span of the snapshot span.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">span.End is greater than snapshot.Length.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,System.Int32,System.Int32)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> with the specified snapshot, start point, and length.</summary>
      <param name="snapshot">The text snapshot on which to base the snapshot span.</param>
      <param name="start">The starting point of the snapshot span.</param>
      <param name="length">The length of the snapshot span.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="snapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="start" /> is negative or greater than snapshot.Length, or <paramref name="length" /> is negative, or <paramref name="start" /> + <paramref name="length" /> is greater than snapshot.Length.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.#ctor(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.SnapshotPoint)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> from two <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> objects.</summary>
      <param name="start">The start point.</param>
      <param name="end">The end point, which must be from the same <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> as the start point.</param>
      <exception cref="T:System.ArgumentException">The snapshot points belong to different <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> objects.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">The end point comes before the start point.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.#ctor(Microsoft.VisualStudio.Text.SnapshotPoint,System.Int32)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> from an existing <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> and a specified length.</summary>
      <param name="start">The starting snapshot point.</param>
      <param name="length">The length of the span.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="length" /> is negative, or <paramref name="start" /> + <paramref name="length" /> is greater than the length of the snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.Contains(Microsoft.VisualStudio.Text.SnapshotPoint)">
      <summary>Determines whether the specified <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> lies within the span.</summary>
      <returns>true if the position is greater than or equal to parameter span.Start and strictly less than parameter span.End, otherwise false.</returns>
      <param name="point">The <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" />.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.Contains(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Determines whether the snapshot span falls completely within this span.</summary>
      <returns>true if the specified span falls completely within this span, otherwise false.</returns>
      <param name="snapshotSpan">The <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> to check.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.Contains(Microsoft.VisualStudio.Text.Span)">
      <summary>Determines whether the specified span falls completely within this span.</summary>
      <returns>true if the specified span falls completely within this span, otherwise false.</returns>
      <param name="simpleSpan">The <see cref="T:Microsoft.VisualStudio.Text.Span" /> to check.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.Contains(System.Int32)">
      <summary>Determines whether the position lies within the span.</summary>
      <returns>true if the position is greater than or equal to parameter span.Start and strictly less than parameter span.End, otherwise false.</returns>
      <param name="position">The position to check.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.SnapshotSpan.End">
      <summary>Gets the end of the snapshot span. </summary>
      <returns>The end of the snapshot span.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.Equals(System.Object)">
      <summary>Determines whether two snapshot spans are the same.</summary>
      <returns>true if the objects are the same, otherwise false.</returns>
      <param name="obj">The other snapshot span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.GetHashCode">
      <summary>Serves as a hash function for this type.</summary>
      <returns>The hash code.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.GetText">
      <summary>The text contained by this snapshot span.</summary>
      <returns>A non-null string.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.Intersection(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Calculates the intersection with the given <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" />.</summary>
      <returns>The intersection of the spans, or null if they do not intersect.</returns>
      <param name="snapshotSpan">The span to check.</param>
      <exception cref="T:System.ArgumentException">
        <paramref name="snapshotSpan" /> does not refer to the same snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.Intersection(Microsoft.VisualStudio.Text.Span)">
      <summary>Calculates the intersection with the given span.</summary>
      <returns>The intersection of the spans, or null if they do not intersect.</returns>
      <param name="simpleSpan">The span to check.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.IntersectsWith(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Determines whether the specified snapshot span intersects this span. </summary>
      <returns>true if the spans intersect, otherwise false.</returns>
      <param name="snapshotSpan">The span to check.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.IntersectsWith(Microsoft.VisualStudio.Text.Span)">
      <summary>Determines whether the specified span intersects this span. </summary>
      <returns>true if the spans intersect, otherwise false.</returns>
      <param name="simpleSpan">The span to check.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.SnapshotSpan.IsEmpty">
      <summary>Determines whether or not this span is empty.</summary>
      <returns>true if the length of the span is zero, otherwise false.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.SnapshotSpan.Length">
      <summary>Gets the length of the span, which is always non-negative.</summary>
      <returns>The length of the span, which is always non-negative.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.op_Equality(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Determines whether two snapshot spans are the same.</summary>
      <returns>true if the objects are the same, otherwise false.</returns>
      <param name="left">The left-hand snapshot span.</param>
      <param name="right">The right-hand snapshot span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.op_Implicit(Microsoft.VisualStudio.Text.SnapshotSpan)~Microsoft.VisualStudio.Text.Span">
      <summary>Implicitly converts a snapshot span to a span.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Span" />.</returns>
      <param name="snapshotSpan">The snapshot span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.op_Inequality(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Determines whether two snapshot spans are different.</summary>
      <returns>true if the objects are different, otherwise false.</returns>
      <param name="left">The left-hand snapshot span.</param>
      <param name="right">The right-hand snapshot span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.Overlap(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Gets the overlap with the given <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" />.</summary>
      <returns>The overlap of the spans, or null if they do not overlap.</returns>
      <param name="snapshotSpan">The span to check.</param>
      <exception cref="T:System.ArgumentException">
        <paramref name="snapshotSpan" /> does not refer to the same <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> as this snapshot span.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.Overlap(Microsoft.VisualStudio.Text.Span)">
      <summary>Getss the overlap with the given span.</summary>
      <returns>The overlap of the spans, or null if they do not overlap.</returns>
      <param name="simpleSpan">The span to check.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.OverlapsWith(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Determines whether another span overlaps this span. </summary>
      <returns>true if the spans overlap, otherwise false.</returns>
      <param name="snapshotSpan">The span to check for overlap.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.OverlapsWith(Microsoft.VisualStudio.Text.Span)">
      <summary>Determines whether <paramref name="simpleSpan" /> overlaps this span. </summary>
      <returns>true if the spans overlap, otherwise false.</returns>
      <param name="simpleSpan">The span to check.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.SnapshotSpan.Snapshot">
      <summary>The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> to which this snapshot span refers.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.SnapshotSpan.Span">
      <summary>Gets the span covered by the snapshot span.</summary>
      <returns>The span covered by the snapshot span.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.SnapshotSpan.Start">
      <summary>Gets the starting index of the snapshot span.</summary>
      <returns>The starting index of the snapshot span.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.ToString">
      <summary>Converts this snapshot span to a string.</summary>
      <returns>The string, or "uninit" if the <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> is null.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpan.TranslateTo(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.SpanTrackingMode)">
      <summary>Translates this snapshot span to a different snapshot of the same <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>A new snapshot span.</returns>
      <param name="targetSnapshot">The snapshot to which to translate.</param>
      <param name="spanTrackingMode">The <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" /> to use in the translation.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="targetSnapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="targetSnapshot" /> does not refer to the same <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> as this snapshot span.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.SnapshotSpanEventArgs">
      <summary>Provides information for events that report changes that affect a span of text.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.SnapshotSpanEventArgs.#ctor(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpanEventArgs" /> with the specified <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" />.</summary>
      <param name="span">The <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" />.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.SnapshotSpanEventArgs.Span">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" />.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Span">
      <summary>Represents a range.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.#ctor(System.Int32,System.Int32)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.Span" /> with the given start point and length.</summary>
      <param name="start">The starting point of the span.</param>
      <param name="length">The length of the span.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="start" /> or <paramref name="length" /> is less than zero, or (start + length) is greater than the length of the text snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.Contains(Microsoft.VisualStudio.Text.Span)">
      <summary>Determines whether the specified span falls completely within this span.</summary>
      <returns>true if the specified span falls completely within this span, otherwise false.</returns>
      <param name="span">The span to check.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.Contains(System.Int32)">
      <summary>Determines whether the position lies within the span.</summary>
      <returns>true if the position is greater than or equal to <see cref="P:Microsoft.VisualStudio.Text.Span.Start" /> and less than <see cref="P:Microsoft.VisualStudio.Text.Span.End" />, otherwise false.</returns>
      <param name="position">The position to check.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Span.End">
      <summary>Gets the end of the span. </summary>
      <returns>The end of the span. </returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.Equals(System.Object)">
      <summary>Determines whether two spans are the same.</summary>
      <returns>true if the two objects are the same, otherwise false.</returns>
      <param name="obj">The second span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.FromBounds(System.Int32,System.Int32)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.Span" /> with the given start and end positions.</summary>
      <returns>The new span.</returns>
      <param name="start">The start position of the new span.</param>
      <param name="end">The end position of the new Span.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="start" /> is less than zero, or <paramref name="end" /> is less than <paramref name="start" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.GetHashCode">
      <summary>Provides a hash function for the type.</summary>
      <returns>The hash code.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.Intersection(Microsoft.VisualStudio.Text.Span)">
      <summary>Gets the intersection with the given span, or null if there is no intersection.</summary>
      <returns>The intersection of the spans, or null if they do not intersect.</returns>
      <param name="span">The span to check.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.IntersectsWith(Microsoft.VisualStudio.Text.Span)">
      <summary>Determines whether <paramref name="span" /> intersects this span. </summary>
      <returns>true if the spans intersect, otherwise false.</returns>
      <param name="span">The span to check.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Span.IsEmpty">
      <summary>Determines whether or not this span is empty.</summary>
      <returns>true if the length of the span is zero, otherwise false.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Span.Length">
      <summary>Gets the length of the span, which is always non-negative.</summary>
      <returns>The length of the span, which is always non-negative.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.op_Equality(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.Span)">
      <summary>Determines whether two spans are the same.</summary>
      <returns>true if the spans are the same, otherwise false.</returns>
      <param name="left">The left-hand span.</param>
      <param name="right">The right-hand span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.op_Inequality(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.Span)">
      <summary>Determines whether two spans are different.</summary>
      <returns>true if the spans are different, otherwise false.</returns>
      <param name="left">The left-hand span.</param>
      <param name="right">The right-hand span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.Overlap(Microsoft.VisualStudio.Text.Span)">
      <summary>Gets the overlap with the specified span.</summary>
      <returns>The overlap of the spans, or null if they do not overlap.</returns>
      <param name="span">The span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.OverlapsWith(Microsoft.VisualStudio.Text.Span)">
      <summary>Determines whether the specified span overlaps this span.</summary>
      <returns>true if the spans overlap, otherwise false.</returns>
      <param name="span">The span to check.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Span.Start">
      <summary>Gets the starting index of the span.</summary>
      <returns>The starting index of the span.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Span.ToString">
      <summary>Provides a string representation of the span.</summary>
      <returns>The string.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.SpanTrackingMode">
      <summary>Represents tracking modes for <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> objects.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.SpanTrackingMode.Custom">
      <summary>Custom client-determined tracking behavior.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeExclusive">
      <summary>The leading edge of the span is positive tracking (insertions push the current position towards the end) and the trailing edge is negative tracking (insertions push the current position towards the start). The span will not expand when text changes occur at the span boundaries. For example, if an EdgeExclusive Span has Start position 3, and a single character is inserted at position 3, the Span will then have Start position 4 and its length will be unchanged.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeInclusive">
      <summary>The leading edge of the span is negative tracking (insertions push the current position toward the start) and the trailing edge is positive tracking (insertions push the current position toward the end). The span will expand when text changes occur at the span boundaries. For example, if an EdgeInclusive Span has Start position 3, and a single character is inserted at position 3, the Span will then have Start position 3 and its length will be increased by one.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeNegative">
      <summary>Both edges of the span are negative tracking (insertions push the current position toward the start).</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgePositive">
      <summary>Both edges of the span are positive tracking (insertions push the current position toward the end).</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.TextBufferCreatedEventArgs">
      <summary>Provides information about a newly created <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextBufferCreatedEventArgs.#ctor(Microsoft.VisualStudio.Text.ITextBuffer)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.TextBufferCreatedEventArgs" />.</summary>
      <param name="textBuffer">The text buffer.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextBufferCreatedEventArgs.TextBuffer">
      <summary>The newly created <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.TextContentChangedEventArgs">
      <summary>Provides information about an edit transaction on an <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextContentChangedEventArgs.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.EditOptions,System.Object)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.TextContentChangedEventArgs" />.</summary>
      <param name="beforeSnapshot">The most recent <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> before the change occurred.</param>
      <param name="afterSnapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> immediately after the change occurred.</param>
      <param name="options">Edit options that were applied to this change.</param>
      <param name="editTag">An arbitrary object associated with this change.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="beforeSnapshot" />, <paramref name="afterSnapshot" />, or <paramref name="options" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextContentChangedEventArgs.Changes">
      <summary>Gets the set of changes that occurred.</summary>
      <returns>The set of changes that occurred</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextContentChangedEventArgs.Options">
      <summary>Gets the edit options that were applied to this change.</summary>
      <returns>The edit options that were applied to this change.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.TextContentChangingEventArgs">
      <summary>Provides information about an upcoming edit transaction on a <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /></summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextContentChangingEventArgs.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,System.Object,System.Action{Microsoft.VisualStudio.Text.TextContentChangingEventArgs})">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.TextContentChangingEventArgs" /> to be passed during a Changing event.</summary>
      <param name="beforeSnapshot">The most recent <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> before the change.</param>
      <param name="editTag">An arbitrary object associated with this change.</param>
      <param name="cancelAction">The action to execute when <see cref="M:Microsoft.VisualStudio.Text.TextContentChangingEventArgs.Cancel" /> is called. Invoked at most once.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="beforeSnapshot" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextContentChangingEventArgs.Before">
      <summary>Gets the most recent <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> before the change.</summary>
      <returns>The most recent <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> before the change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextContentChangingEventArgs.BeforeVersion">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" /> associated with <see cref="P:Microsoft.VisualStudio.Text.TextContentChangingEventArgs.Before" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" /> associated with <see cref="P:Microsoft.VisualStudio.Text.TextContentChangingEventArgs.Before" />.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextContentChangingEventArgs.Cancel">
      <summary>Cancels the edit transaction.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextContentChangingEventArgs.Canceled">
      <summary>Determines whether the edit transaction has been canceled.</summary>
      <returns>true if the edit transaction was canceled, otherwise false.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextContentChangingEventArgs.EditTag">
      <summary>Gets an object provided by the initiator of the changes.</summary>
      <returns>The object provided by the initiator of the changes.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.TextDocumentEventArgs">
      <summary>Provides information for events raised when an <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> has been created or disposed.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextDocumentEventArgs.#ctor(Microsoft.VisualStudio.Text.ITextDocument)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.TextDocumentEventArgs" />.</summary>
      <param name="textDocument">The <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> that was created or disposed.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextDocumentEventArgs.TextDocument">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> that was created or disposed.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> that was created or disposed.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.TextDocumentFileActionEventArgs">
      <summary>Provides information for events that are raised when an <see cref="T:Microsoft.VisualStudio.Text.ITextDocument" /> has loaded from or saved to disk.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextDocumentFileActionEventArgs.#ctor(System.String,System.DateTime,Microsoft.VisualStudio.Text.FileActionTypes)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.TextDocumentFileActionEventArgs" /> for a file action event.</summary>
      <param name="filePath">The path to the file.</param>
      <param name="time">The <see cref="T:System.DateTime" /> when the file action occurred.</param>
      <param name="fileActionType">The <see cref="T:Microsoft.VisualStudio.Text.FileActionTypes" /> that occurred.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="filePath" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextDocumentFileActionEventArgs.FileActionType">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.FileActionTypes" /> that occurred.</summary>
      <returns>The file action type.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextDocumentFileActionEventArgs.FilePath">
      <summary>Gets the path to the file.</summary>
      <returns>The file path.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextDocumentFileActionEventArgs.Time">
      <summary>Gets the <see cref="T:System.DateTime" /> when the file action occurred.</summary>
      <returns>The date/time of the file action.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs">
      <summary>Provides information about a transaction on a <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> that causes a new <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> to be generated.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.ITextSnapshot,System.Object)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs" /> for a Change event.</summary>
      <param name="beforeSnapshot">The most recent <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> before the change occurred.</param>
      <param name="afterSnapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> immediately after the change occurred.</param>
      <param name="editTag">An object associated with this change.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="beforeSnapshot" /> or <paramref name="afterSnapshot" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs.After">
      <summary>Gets the state of the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> after the change.</summary>
      <returns>The state of the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> after the change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs.AfterVersion">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" />n associated with <see cref="P:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs.After" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" />n associated with <see cref="P:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs.After" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs.Before">
      <summary>Gets the state of the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> before the change occurred.</summary>
      <returns>The state of the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> before the change occurred.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs.BeforeVersion">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" /> associated with <see cref="P:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs.Before" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextVersion" /> associated with <see cref="P:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs.Before" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.TextSnapshotChangedEventArgs.EditTag">
      <summary>Gets an object provided by the initiator of the changes.</summary>
      <returns>The object provided by the initiator of the changes.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.TextSnapshotToTextReader">
      <summary>Provides a <see cref="T:System.IO.TextReader" /> facade over a text snapshot.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextSnapshotToTextReader.#ctor(Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.TextSnapshotToTextReader" /> with the specified text snapshot.</summary>
      <param name="textSnapshot">The <see cref="T:Microsoft.VisualStudio.Text.ITextSnapshot" /> to expose as a reader.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="textSnapshot" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextSnapshotToTextReader.Close">
      <summary>Closes the reader and releases associated resources.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextSnapshotToTextReader.Peek">
      <summary>Returns the next character without changing the state of the reader or the character source.</summary>
      <returns>The next character to be read, or -1 if no more characters are available, or if the stream does not support seeking.</returns>
      <exception cref="T:System.ObjectDisposedException">The reader is closed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextSnapshotToTextReader.Read">
      <summary>Reads the next character from the input stream and advances the character position by one character.</summary>
      <returns>The next character from the input stream, or -1 if no more characters are available.</returns>
      <exception cref="T:System.ObjectDisposedException">The reader is closed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextSnapshotToTextReader.Read(System.Char[],System.Int32,System.Int32)">
      <summary>Reads the specified number of characters from the current stream and writes the data to the buffer, beginning at the specified location.</summary>
      <returns>The number of characters that have been read. The number will be less than or equal to <paramref name="count" />, depending on whether the data is available within the stream. This method returns zero if called when no more characters are left to read.</returns>
      <param name="buffer">When this method returns, contains the specified character array from the current source.</param>
      <param name="index">The place in buffer at which to begin writing.</param>
      <param name="count">The maximum number of characters to read.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="buffer" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="index" /> or <paramref name="count" /> is negative, or the buffer length minus index is less than <paramref name="count" />.</exception>
      <exception cref="T:System.ObjectDisposedException">The reader is closed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextSnapshotToTextReader.ReadBlock(System.Char[],System.Int32,System.Int32)">
      <summary>Reads a maximum of <paramref name="count" /> characters from the current stream and writes the data to the buffer, beginning at <paramref name="index" />.</summary>
      <returns>The number of characters that have been read. The number will be less than or equal to <paramref name="count" />, depending on whether the data is available within the stream. This method returns zero if called when no more characters are left to read.</returns>
      <param name="buffer">When this method returns, contains the specified character array from the current source.</param>
      <param name="index">The place in buffer at which to begin writing.</param>
      <param name="count">The maximum number of characters to read.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="buffer" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="index" /> or <paramref name="count" /> is negative, or the buffer length minus index is less than <paramref name="count" />.</exception>
      <exception cref="T:System.ObjectDisposedException">The reader is closed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextSnapshotToTextReader.ReadLine">
      <summary>Reads a line of characters from the current stream and returns the data as a string.</summary>
      <returns>The next line from the input stream, or null if all characters have been read.</returns>
      <exception cref="T:System.ObjectDisposedException">The reader is closed.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.TextSnapshotToTextReader.ReadToEnd">
      <summary>Reads all the characters from the current position to the end of the reader and returns them as a string.</summary>
      <returns>A string containing all the characters from the current position to the end of the reader.</returns>
      <exception cref="T:System.ObjectDisposedException">The reader is closed.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Tracking">
      <summary>Defines position tracking forward and backward in time. </summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Tracking.TrackPositionBackwardInTime(Microsoft.VisualStudio.Text.PointTrackingMode,System.Int32,Microsoft.VisualStudio.Text.ITextVersion,Microsoft.VisualStudio.Text.ITextVersion)">
      <summary>Track a point position backward in time using forward fidelity.</summary>
      <returns>Returns the new current position.</returns>
      <param name="trackingMode">The point tracking mode.</param>
      <param name="currentPosition">The current position.</param>
      <param name="currentVersion">The current version.</param>
      <param name="targetVersion">The target version.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Tracking.TrackPositionForwardInTime(Microsoft.VisualStudio.Text.PointTrackingMode,System.Int32,Microsoft.VisualStudio.Text.ITextVersion,Microsoft.VisualStudio.Text.ITextVersion)">
      <summary>Track a point position backward in time using forward fidelity.</summary>
      <returns>Returns the new current position.</returns>
      <param name="trackingMode">The point tracking mode.</param>
      <param name="currentPosition">The current position.</param>
      <param name="currentVersion">The current version.</param>
      <param name="targetVersion">The target version.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Tracking.TrackSpanBackwardInTime(Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.ITextVersion,Microsoft.VisualStudio.Text.ITextVersion)">
      <summary>Track a span backward in time using forward fidelity.</summary>
      <returns>Returns the new current span.</returns>
      <param name="trackingMode">The span tracking mode.</param>
      <param name="span">The current span.</param>
      <param name="currentVersion">The current version.</param>
      <param name="targetVersion">The target version.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Tracking.TrackSpanForwardInTime(Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.ITextVersion,Microsoft.VisualStudio.Text.ITextVersion)">
      <summary>Track span forward in time using forward fidelity.</summary>
      <returns>Returns the new current span.</returns>
      <param name="trackingMode">The span tracking mode.</param>
      <param name="span">The current span.</param>
      <param name="currentVersion">The current version.</param>
      <param name="targetVersion">The target version.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.TrackingFidelityMode">
      <summary>Represents special tracking behaviors for <see cref="T:Microsoft.VisualStudio.Text.ITrackingPoint" /> and <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> objects.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.TrackingFidelityMode.Backward">
      <summary>Mapping back to a previous version gives the same result as mapping forward from the origin version. This mode should be used only for short-lived points and spans.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.TrackingFidelityMode.Forward">
      <summary>Mapping back to a previous version (either by explicitly moving to that version or by undo or redo operations) may give a different result from the one that was originally given for that version. This mode is suitable for most purposes, and is the most space-efficient mode.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.TrackingFidelityMode.UndoRedo">
      <summary>Mapping to a version that is the result of an undo or redo operation gives the same result as mapping forward to the version that underwent the undo or redo operation. This mode is more expensive than <see cref="F:Microsoft.VisualStudio.Text.TrackingFidelityMode.Forward" /> in both space and time and should be used only if necessary.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.ContinueProcessingPredicate`1">
      <summary>A predicate used by <see cref="T:Microsoft.VisualStudio.Text.Differencing.IDifferenceService" /> to allow callers to stop differencing prematurely.</summary>
      <returns>true if the algorithm should continue processing, false to stop the algorithm.</returns>
      <param name="leftIndex">The current index in the left sequence being differenced.</param>
      <param name="leftSequence">The left sequence being differenced.</param>
      <param name="longestMatchSoFar">The length of the longest match so far.</param>
      <typeparam name="T">The type of sequences being differenced.</typeparam>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.DetermineLocalityCallback">
      <summary>Determining the locality for a given difference type and left/right strings.</summary>
      <returns>The locality, if desired, or null to fall back to the default locality.</returns>
      <param name="differenceType">The type of difference to get the locality for. This is guaranteed to be a single type.</param>
      <param name="leftStrings">The left text, decomposed into a list of strings.</param>
      <param name="rightStrings">The right text, decomposed into a list of strings.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.Difference">
      <summary>Represents a single difference in the set of differences of two lists of elements.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.Difference.#ctor(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.Differencing.Match,Microsoft.VisualStudio.Text.Differencing.Match)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.Differencing.Difference" /> with the specified left and right spans and before and after matches.</summary>
      <param name="left">The left side of the difference (may have zero length).</param>
      <param name="right">The right side of the difference (may have zero length).</param>
      <param name="before">The non-differing element range before this difference.</param>
      <param name="after">The non-differing element range after this difference.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.Difference.After">
      <summary>The match after this difference. It is null at the end of the sequence.</summary>
      <returns>The match after the difference.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.Difference.Before">
      <summary>The match before this section. It is null at the beginning of the sequence.</summary>
      <returns>The match before the difference.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.Difference.DifferenceType">
      <summary>The type of the difference (add, remove, or change).</summary>
      <returns>The type of the difference.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.Difference.Equals(System.Object)">
      <summary>Determines whether two Difference objects are the same (have the same difference type and the same before and after matches).</summary>
      <returns>true if both objects are the same, otherwise false.</returns>
      <param name="obj">The second Difference object.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.Difference.GetHashCode">
      <summary>Serves as a hash code for this type.</summary>
      <returns>The hash code.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.Difference.Left">
      <summary>The left side of the difference (may be zero length).</summary>
      <returns>The left side of the difference.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.Difference.Right">
      <summary>The right side of the difference (may be zero length).</summary>
      <returns>The right side of the difference.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.Difference.ToString">
      <summary>The string representation of this difference.</summary>
      <returns>The string.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.DifferenceType">
      <summary>The types of differences.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.DifferenceType.Add">
      <summary>Lines were added, so the text is on the right-hand side.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.DifferenceType.Change">
      <summary>Lines were changed, so the text is on both sides.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.DifferenceType.Remove">
      <summary>Lines were removed, so the text is on the left-hand side.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.IDifferenceCollection`1">
      <summary>Represents a collection of <see cref="T:Microsoft.VisualStudio.Text.Differencing.Difference" /> objects. </summary>
      <typeparam name="T">The element type of the compared lists.</typeparam>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.IDifferenceCollection`1.Differences">
      <summary>Returns the difference collection as a list.</summary>
      <returns>The list of differences.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.IDifferenceCollection`1.LeftSequence">
      <summary>Gets the left sequence that was used to create this difference collection.</summary>
      <returns>The left sequence.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.IDifferenceCollection`1.MatchSequence">
      <summary>Gets the original match sequence that was used to create this difference collection.</summary>
      <returns>The match sequence.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.IDifferenceCollection`1.RightSequence">
      <summary>Gets the right sequence that was used to create this difference collection.</summary>
      <returns>The right sequence.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.IDifferenceService">
      <summary>Determines the differences between two sequences, based on adding or removing elements (but not translating or copying elements).</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.IDifferenceService.DifferenceSequences``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IList{``0})">
      <summary>Calculates the differences between the two sequences.</summary>
      <returns>A collection of the differences between the two sequences.</returns>
      <param name="left">The left sequence. In most cases this is the "old" sequence.</param>
      <param name="right">The right sequence. In most cases this is the "new" sequence.</param>
      <typeparam name="T">The type of the sequences.</typeparam>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.IDifferenceService.DifferenceSequences``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IList{``0},Microsoft.VisualStudio.Text.Differencing.ContinueProcessingPredicate{``0})">
      <summary>Calculates the differences between the two sequences. The supplied predicate will be called on each step through the left sequence.</summary>
      <returns>A collection of the differences between the two sequences.</returns>
      <param name="left">The left sequence. In most cases this is the "old" sequence.</param>
      <param name="right">The right sequence. In most cases this is the "new" sequence.</param>
      <param name="continueProcessingPredicate">A predicate that will be called on each step through the <paramref name="left" /> sequence, with the option of stopping the algorithm prematurely.</param>
      <typeparam name="T">The type of the sequences.</typeparam>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.IHierarchicalDifferenceCollection">
      <summary>Represents a difference collection in which the left and right sequences are <see cref="T:Microsoft.VisualStudio.Text.Differencing.ITokenizedStringList" /> objects, and each difference may itself contain an <see cref="T:Microsoft.VisualStudio.Text.Differencing.IHierarchicalDifferenceCollection" />.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.IHierarchicalDifferenceCollection.GetContainedDifferences(System.Int32)">
      <summary>Gets the contained difference collection for the given element, if it has any.</summary>
      <returns>true if the <see cref="T:Microsoft.VisualStudio.Text.Differencing.Difference" /> in question has contained differences, otherwise false.</returns>
      <param name="index">The index at which to compute the contained differences.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.IHierarchicalDifferenceCollection.HasContainedDifferences(System.Int32)">
      <summary>Determines whether the <see cref="T:Microsoft.VisualStudio.Text.Differencing.Difference" /> at the given index itself contains differences. </summary>
      <returns>true if the <see cref="T:Microsoft.VisualStudio.Text.Differencing.Difference" /> in question has contained differences, otherwise false.</returns>
      <param name="index">The index at which to check for contained differences.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.IHierarchicalDifferenceCollection.LeftDecomposition">
      <summary>Gets the original left tokenized list.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Differencing.ITokenizedStringList" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.IHierarchicalDifferenceCollection.RightDecomposition">
      <summary>Get the original right tokenized list.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Differencing.ITokenizedStringList" />.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.IHierarchicalStringDifferenceService">
      <summary>This service has several shortcut methods that compute differences over strings, snapshots, and spans.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.IHierarchicalStringDifferenceService.DiffSnapshotSpans(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions)">
      <summary>Calculates the differences between two snapshot spans, using the given difference options.</summary>
      <returns>A hierarchical collection of differences.</returns>
      <param name="left">The left snapshot. In most cases this is the the "old" snapshot.</param>
      <param name="right">The right snapshot. In most cases this is the "new" snapshot.</param>
      <param name="differenceOptions">The options to use.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.IHierarchicalStringDifferenceService.DiffStrings(System.String,System.String,Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions)">
      <summary>Calculates the differences between two strings, using the given difference options.</summary>
      <returns>A hierarchical collection of differences.</returns>
      <param name="left">The left string. In most cases this is the the "old" string.</param>
      <param name="right">The right string. In most cases this is the "new" string.</param>
      <param name="differenceOptions">The options to use in differencing</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingSelectorService">
      <summary>Used to retrieve an <see cref="T:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingService" /> for a given content type.  These services may be provided by extenders and may return differences that more closely match the semantics of the given content type, instead of simple textual differencing.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingSelectorService.DefaultTextDifferencingService">
      <summary>Gets the default <see cref="T:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingService" />, which performs simple textual differencing.</summary>
      <returns>The default <see cref="T:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingService" /> implementation (never null).</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingSelectorService.GetTextDifferencingService(Microsoft.VisualStudio.Utilities.IContentType)">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingService" /> for the given content type.</summary>
      <returns>Returns a <see cref="T:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingService" /> that is guaranteed never to be null.</returns>
      <param name="contentType">The content type.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingService">
      <summary>This service has methods that compute differences over strings, snapshots, and spans. Differences are computed according to the specified <see cref="T:Microsoft.VisualStudio.Text.Differencing.StringDifferenceTypes" />, starting with the most general type (line is more general than word, and word is more general than character). This service is meant to be provided by extenders to override diff behavior by content type, thus allowing more control over the differences produced and how they align semantically (based upon the given language/content type).</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingService.DiffSnapshotSpans(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions)">
      <summary>Computes the differences between two snapshot spans, using the given difference options.</summary>
      <returns>A hierarchical collection of differences.</returns>
      <param name="left">The left span. In most cases this is from an "old" snapshot.</param>
      <param name="right">The right span. In most cases this is from a "new" snapshot.</param>
      <param name="differenceOptions">The options to use.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingService.DiffSnapshotSpans(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions,System.Func{Microsoft.VisualStudio.Text.ITextSnapshotLine,System.String})">
      <summary>Computes the differences between two snapshot spans, using the given difference options.</summary>
      <returns>A hierarchical collection of differences.</returns>
      <param name="left">he left span. In most cases this is from an "old" snapshot.</param>
      <param name="right">The right span. In most cases this is from a "new" snapshot.</param>
      <param name="differenceOptions">The options to use.</param>
      <param name="getLineTextCallback">A callback for retrieving the text of snapshot lines (when performing differencing at the line level) that can optionally filter/modify the text, as long as it doesn't introduce line breaks (i.e. split the given line into multiple lines).</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingService.DiffStrings(System.String,System.String,Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions)">
      <summary>Computes the differences between two strings, using the given difference options.</summary>
      <returns>A hierarchical collection of differences.</returns>
      <param name="left">The left string. In most cases this is the the "old" string</param>
      <param name="right">The right string. In most cases this is the "new" string.</param>
      <param name="differenceOptions">The options to use in differencing.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.ITokenizedStringList">
      <summary>A tokenized representation of a string into abutting and non-overlapping segments.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.ITokenizedStringList.GetElementInOriginal(System.Int32)">
      <summary>Maps the index of an element to its span in the original list.</summary>
      <returns>The span of the element.</returns>
      <param name="index">The index of the element in the element list.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The specified index is either negative or exceeds the list's Count property.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.ITokenizedStringList.GetSpanInOriginal(Microsoft.VisualStudio.Text.Span)">
      <summary>Maps a span of elements in this list to the span in the original list.</summary>
      <returns>The span mapped onto the original list.</returns>
      <param name="span">The span of elements in the elements list.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.ITokenizedStringList.Original">
      <summary>The original string that was tokenized.</summary>
      <returns>The original string.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.Match">
      <summary>Represents a range of matches between two sequences as a pair of spans of equal length.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.Match.#ctor(Microsoft.VisualStudio.Text.Span,Microsoft.VisualStudio.Text.Span)">
      <summary>Creates a match from two spans of equal length.</summary>
      <param name="left">The span from the left sequence.</param>
      <param name="right">The span from the right sequence.</param>
      <exception cref="T:System.ArgumentNullException">The left span or right span is null.</exception>
      <exception cref="T:System.ArgumentException">The spans are not of equal length.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.Match.Equals(System.Object)">
      <summary>Determines whether two Match objects have the same left and right spans.</summary>
      <returns>True if both Match objects are the same, otherwise false.</returns>
      <param name="obj">The second Match.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.Match.GetEnumerator">
      <summary>Gets an enumerator typed as a <see cref="T:System.Tuple`2" /> of integers.</summary>
      <returns>The typed enumerator.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.Match.GetHashCode">
      <summary>Provides a hash function.</summary>
      <returns>The hash function.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.Match.Left">
      <summary>Get the left-side range</summary>
      <returns>The left range.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.Match.Length">
      <summary>Gets the length of the spans. Both spans have equal lengths.</summary>
      <returns>The length of the spans.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.Match.Right">
      <summary>Gets the right span.</summary>
      <returns>The right span.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.Match.System#Collections#IEnumerable#GetEnumerator">
      <summary>Gets an untyped enumerator.</summary>
      <returns>The enumerator.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions">
      <summary>Options to use in calculating string differences.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.#ctor(Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions" /> with the specified options.</summary>
      <param name="other">The other options.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.#ctor(Microsoft.VisualStudio.Text.Differencing.StringDifferenceTypes,System.Int32,System.Boolean)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions" /> with the specified options.</summary>
      <param name="differenceType">The difference type.</param>
      <param name="locality">The locality.</param>
      <param name="ignoreTrimWhiteSpace">Whether or not to ignore whitespace.</param>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.ContinueProcessingPredicate">
      <summary>An optional predicate that allows clients to cancel differencing before it has completely finished.</summary>
      <returns>
        <see cref="T:Microsoft.VisualStudio.Text.Differencing.ContinueProcessingPredicate`1" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.DetermineLocalityCallback">
      <summary>An optional callback to override the locality for a specific round of differencing.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Differencing.DetermineLocalityCallback" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.DifferenceType">
      <summary>The type of string differencing to do, as a combination of line, word, and character differencing.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Differencing.StringDifferenceTypes" />.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.Equals(System.Object)">
      <summary>Determines whether two StringDifferenceOptions are the same.</summary>
      <returns>true if they are the same, otherwise false.</returns>
      <param name="obj">The object to compare.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.GetHashCode">
      <summary>Provides a hash function for the type.</summary>
      <returns>The hash code.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.IgnoreTrimWhiteSpace">
      <summary>Gets or sets whether to ignore white space.</summary>
      <returns>true if whitespace is to be ignored, otherwise false.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.Locality">
      <summary>The greatest distance a differencing element (line, span, or character) can move and still be considered part of the same source.</summary>
      <returns>The greatest distance, in number of lines.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.op_Equality(Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions,Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions)">
      <summary>Determines whether two StringDifferenceOptions are the same</summary>
      <returns>true if the two differences are the same, otherwise false.</returns>
      <param name="left">The left string difference.</param>
      <param name="right">The right string difference.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.op_Inequality(Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions,Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions)">
      <summary>Determines whether two StringDifferenceOptions are different.</summary>
      <returns>true if the two differences are not the same, otherwise false.</returns>
      <param name="left">The left string difference.</param>
      <param name="right">The right string difference.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.ToString">
      <summary>Provides a string representation of these difference options.</summary>
      <returns>The string.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.WordSplitBehavior">
      <summary>The behavior to use when splitting words, if word differencing is requested by the <see cref="P:Microsoft.VisualStudio.Text.Differencing.StringDifferenceOptions.DifferenceType" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Differencing.WordSplitBehavior" />.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.StringDifferenceTypes">
      <summary>A bitwise combination of the enumeration values to use when computing differences with the various methods in <see cref="T:Microsoft.VisualStudio.Text.Differencing.IHierarchicalStringDifferenceService" />.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.StringDifferenceTypes.Character">
      <summary>Compute the character difference.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.StringDifferenceTypes.Line">
      <summary>Compute the line difference.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.StringDifferenceTypes.Word">
      <summary>Compute the word difference.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Differencing.WordSplitBehavior">
      <summary>Behavior to use while splitting words in string differencing.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.WordSplitBehavior.CharacterClass">
      <summary>Split words by character class. </summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.WordSplitBehavior.Default">
      <summary>Split words by <see cref="F:Microsoft.VisualStudio.Text.Differencing.WordSplitBehavior.CharacterClass" />. </summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.WordSplitBehavior.LanguageAppropriate">
      <summary>Split the text into language-appropriate words.When used in conjunction with the default T<see cref=":Microsoft.VisualStudio.Text.Differencing.IHierarchicalStringDifferenceService" />, this value is the same as <see cref="F:Microsoft.VisualStudio.Text.Differencing.WordSplitBehavior.WhiteSpaceAndPunctuation" />. When used in conjunction with an <see cref="T:Microsoft.VisualStudio.Text.Differencing.ITextDifferencingService" />, the behavior is controlled by the implementation.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.WordSplitBehavior.WhiteSpace">
      <summary>Split the text into words by whitespace only. </summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Differencing.WordSplitBehavior.WhiteSpaceAndPunctuation">
      <summary>Split the text into words by whitespace and punctuation/symbols.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.ElisionBufferOptions">
      <summary>Options that apply to an <see cref="T:Microsoft.VisualStudio.Text.Projection.IElisionBuffer" />.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Projection.ElisionBufferOptions.FillInMappingMode">
      <summary>When mapping spans, include hidden text between the start point and the end point.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Projection.ElisionBufferOptions.None">
      <summary>No special treatment.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.ElisionSourceSpansChangedEventArgs">
      <summary>Provides data about the <see cref="E:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.SourceSpansChanged" /> event, in which the set of hidden source spans has changed.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.ElisionSourceSpansChangedEventArgs.#ctor(Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot,Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot,Microsoft.VisualStudio.Text.NormalizedSpanCollection,Microsoft.VisualStudio.Text.NormalizedSpanCollection,System.Object)">
      <summary>Initialize a new instance of an <see cref="T:Microsoft.VisualStudio.Text.Projection.ElisionSourceSpansChangedEventArgs" /> object.</summary>
      <param name="beforeSnapshot">The most recent <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" /> before the change occurred.</param>
      <param name="afterSnapshot">The <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" /> immediately after the change occurred.</param>
      <param name="elidedSpans">Zero or more source spans that were hidden.</param>
      <param name="expandedSpans">Zero or more source spans that were expanded.</param>
      <param name="sourceToken">An arbitrary object associated with this change.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="beforeSnapshot" />, <paramref name="afterSnapshot" />, <paramref name="elidedSpans" />, or <paramref name="expandedSpans" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ElisionSourceSpansChangedEventArgs.After">
      <summary>Gets the state of the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> after the change.</summary>
      <returns>The state of the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> after the change</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ElisionSourceSpansChangedEventArgs.Before">
      <summary>Gets the state of the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> before the change occurred.</summary>
      <returns>The state of the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> before the change occurred.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ElisionSourceSpansChangedEventArgs.ElidedSpans">
      <summary>Gets the set of source spans that were inserted into the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> by this edit transaction.</summary>
      <returns>The set of source spans that were inserted into the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> by this edit transaction.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ElisionSourceSpansChangedEventArgs.ExpandedSpans">
      <summary>Gets the set of source spans that were deleted from the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> by this edit transaction.</summary>
      <returns>The set of source spans that were deleted from the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> by this edit transaction.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.GraphBufferContentTypeChangedEventArgs">
      <summary>Provides data f <see cref="E:Microsoft.VisualStudio.Text.Projection.IBufferGraph.GraphBufferContentTypeChanged" /> event.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.GraphBufferContentTypeChangedEventArgs.#ctor(Microsoft.VisualStudio.Text.ITextBuffer,Microsoft.VisualStudio.Utilities.IContentType,Microsoft.VisualStudio.Utilities.IContentType)">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.Projection.GraphBufferContentTypeChangedEventArgs" /> with the specified text buffer and the old and new content types.</summary>
      <param name="textBuffer">The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> whose <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> has changed.</param>
      <param name="beforeContentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> before the change.</param>
      <param name="afterContentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> after the change.</param>
      <exception cref="T:System.ArgumentNullException">One of <paramref name="textBuffer" />, <paramref name="beforeContentType" />, or <paramref name="afterContentType" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.GraphBufferContentTypeChangedEventArgs.AfterContentType">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> after the change.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> after the change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.GraphBufferContentTypeChangedEventArgs.BeforeContentType">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> before the change.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> before the change.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.GraphBufferContentTypeChangedEventArgs.TextBuffer">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> whose <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> has changed.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> whose <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> has changed.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.GraphBuffersChangedEventArgs">
      <summary>Information provided for a <see cref="E:Microsoft.VisualStudio.Text.Projection.IBufferGraph.GraphBuffersChanged" /> event.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.GraphBuffersChangedEventArgs.#ctor(System.Collections.Generic.IList{Microsoft.VisualStudio.Text.ITextBuffer},System.Collections.Generic.IList{Microsoft.VisualStudio.Text.ITextBuffer})">
      <summary>Initializes a new instance of <see cref="T:Microsoft.VisualStudio.Text.Projection.GraphBuffersChangedEventArgs" /> with the provided buffers.</summary>
      <param name="addedBuffers">The list of buffers that were added.</param>
      <param name="removedBuffers">The list of buffers that were removed.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="addedBuffers" /> or <paramref name="removedBuffers" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.GraphBuffersChangedEventArgs.AddedBuffers">
      <summary>Gets the list of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects that have been added to the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</summary>
      <returns>The list of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects that have been added to the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.GraphBuffersChangedEventArgs.RemovedBuffers">
      <summary>Gets the list of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects that have been removed from the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</summary>
      <returns>The list of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects that have been removed from the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph">
      <summary>Represents a graph of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects. The top level text buffer might or might not be a <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.CreateMappingPoint(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.PointTrackingMode)">
      <summary>Creates a new <see cref="T:Microsoft.VisualStudio.Text.IMappingPoint" /> with the specified snapshot point and tracking mode.</summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.IMappingPoint" /> that can track within its buffer and map within the graph.</returns>
      <param name="point">A <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" /> in one of the buffers of the graph.</param>
      <param name="trackingMode">How to track the point.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.CreateMappingSpan(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SpanTrackingMode)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.IMappingSpan" />.</summary>
      <returns>A <see cref="T:Microsoft.VisualStudio.Text.IMappingSpan" /> that can track within its buffer and map within the graph.</returns>
      <param name="span">A <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> in one of the buffers of the graph.</param>
      <param name="trackingMode">How to track the span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.GetTextBuffers(System.Predicate{Microsoft.VisualStudio.Text.ITextBuffer})">
      <summary>Finds all the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects in the graph that match the specified predicate.</summary>
      <returns>A non-null but possibly empty collection of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects.</returns>
      <param name="match">The predicate used for matching.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="match" /> is null.</exception>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.Projection.IBufferGraph.GraphBufferContentTypeChanged">
      <summary>Occurs when the <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> of any <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> in the buffer graph changes.</summary>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.Projection.IBufferGraph.GraphBuffersChanged">
      <summary>Occurs when the set of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects in the buffer graph changes.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapDownToBuffer(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.PointTrackingMode,Microsoft.VisualStudio.Text.ITextBuffer,Microsoft.VisualStudio.Text.PositionAffinity)">
      <summary>Maps a position in the graph to the corresponding position in a buffer lower in the graph. Source buffers are considered to be lower than the projection buffers that consume them.</summary>
      <returns>A point in a snapshot of the target buffer, or null if the top position does not map to that buffer with the given affinity.</returns>
      <param name="position">The position in a buffer in the graph.</param>
      <param name="trackingMode">How <paramref name="position" /> is tracked to the current snapshot if necessary.</param>
      <param name="targetBuffer">The buffer to which to map the <paramref name="position" />.</param>
      <param name="affinity">If the mapping is ambiguous (the position is on a source span seam), determines whether the mapping should target the position immediately after the preceding character or immediately before the following character in the top buffer. This setting has no effect if the mapping is unambiguous.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="position" />.Snapshot or <paramref name="targetBuffer" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PointTrackingMode" />, or <paramref name="affinity" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PositionAffinity" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapDownToBuffer(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.ITextBuffer)">
      <summary>Maps a snapshot span in some buffer in the graph to a sequence of zero or more spans in a buffer that is lower in the graph. Source buffers are considered to be lower than the projection buffers that consume them.</summary>
      <returns>A collection of zero or more snapshot spans in the target buffer to which the span maps.</returns>
      <param name="span">The span that is to be mapped.</param>
      <param name="trackingMode">How <paramref name="span" /> is tracked to the current snapshot if necessary.</param>
      <param name="targetBuffer">The buffer to which to map the span.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" />.Snapshot or <paramref name="targetBuffer" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapDownToFirstMatch(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.PointTrackingMode,System.Predicate{Microsoft.VisualStudio.Text.ITextSnapshot},Microsoft.VisualStudio.Text.PositionAffinity)">
      <summary>Maps a position in the graph to a position in a matching buffer that is lower in the graph. Source buffers are considered to be lower than the projection buffers that consume them.</summary>
      <returns>A point in a snapshot of the target buffer, or null if position does not map down to any buffer selected by <paramref name="match" />.</returns>
      <param name="position">The position in a buffer in the graph.</param>
      <param name="trackingMode">How <paramref name="position" /> is tracked to the current snapshot if necessary.</param>
      <param name="match">The predicate that identifies the target buffer.</param>
      <param name="affinity">If the mapping is ambiguous (the position is on a source span seam), determines whether the mapping should target the position immediately after the preceding character or immediately before the following character in the top buffer.This setting has no effect if the mapping is unambiguous.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="position" />.Snapshot or <paramref name="match" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PointTrackingMode" />, or <paramref name="affinity" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PositionAffinity" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapDownToFirstMatch(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SpanTrackingMode,System.Predicate{Microsoft.VisualStudio.Text.ITextSnapshot})">
      <summary>Maps a snapshot span in some buffer in the graph to a sequence of zero or more spans in some source snapshot selected by a predicate.</summary>
      <returns>A collection of zero or more snapshot spans in the target buffer to which the topSpan maps.</returns>
      <param name="span">The span that is to be mapped.</param>
      <param name="trackingMode">How <paramref name="span" /> is tracked to the current snapshot if necessary.</param>
      <param name="match">The predicate that identifies the target buffer.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" />.Snapshot or <paramref name="match" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapDownToInsertionPoint(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.PointTrackingMode,System.Predicate{Microsoft.VisualStudio.Text.ITextSnapshot})">
      <summary>Maps a position in some buffer in the graph to a position in a matching buffer that is lower in the graph and to which an insertion would be routed. Source buffers are considered to be lower than the projection buffers that consume them.</summary>
      <returns>A point in a snapshot of some source buffer.</returns>
      <param name="position">The position in a buffer in the graph.</param>
      <param name="trackingMode">How <paramref name="position" /> is tracked to the current snapshot if necessary.</param>
      <param name="match">The predicate that identifies the target buffer.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="position" />.Snapshot or <paramref name="match" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PointTrackingMode" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapDownToSnapshot(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.PointTrackingMode,Microsoft.VisualStudio.Text.ITextSnapshot,Microsoft.VisualStudio.Text.PositionAffinity)">
      <summary>Maps a position in the graph to the corresponding position in a snapshot lower in the graph. Source buffers are considered to be lower than the projection buffers that consume them.</summary>
      <returns>A point in a snapshot of the target buffer, or null if the top position does not map to that buffer with the given affinity.</returns>
      <param name="position">The position in a buffer in the graph.</param>
      <param name="trackingMode">How <paramref name="position" /> is tracked to the current snapshot if necessary.</param>
      <param name="targetSnapshot">The buffer to which to map the <paramref name="position" />.</param>
      <param name="affinity">If the mapping is ambiguous (the position is on a source span seam), determines whether the mapping should target the position immediately after the preceding character or immediately before the following character in the top buffer.This setting has no effect if the mapping is unambiguous.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="position" />.Snapshot or <paramref name="targetSnapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PointTrackingMode" />, or <paramref name="affinity" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PositionAffinity" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapDownToSnapshot(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Maps a snapshot span in some buffer in the graph to a sequence of zero or more spans in a buffer that is lower in the graph. Source buffers are considered to be lower than the projection buffers that consume them.</summary>
      <returns>A collection of zero or more snapshot spans in the target buffer to which the span maps.</returns>
      <param name="span">The span that is to be mapped.</param>
      <param name="trackingMode">How <paramref name="span" /> is tracked to the current snapshot if necessary.</param>
      <param name="targetSnapshot">The buffer to which to map the span.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" />.Snapshot or <paramref name="targetSnapshot" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapUpToBuffer(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.PointTrackingMode,Microsoft.VisualStudio.Text.PositionAffinity,Microsoft.VisualStudio.Text.ITextBuffer)">
      <summary>Maps a position in the current snapshot of some buffer that is a member of the buffer graph to a snapshot of some buffer.</summary>
      <returns>The corresponding position in a snapshot of the target buffer, or null if the position does not map to the target buffer.</returns>
      <param name="point">A point in some buffer in the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</param>
      <param name="trackingMode">How <paramref name="point" /> is tracked to the current snapshot if necessary.</param>
      <param name="affinity">If the mapping is ambiguous (the position is on a source span seam), determines whether the mapping should target the position immediately after the preceding character or immediately before the following character in the top buffer.This setting has no effect if the mapping is unambiguous.</param>
      <param name="targetBuffer">The buffer to which to map.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="point" />.Snapshot is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PointTrackingMode" />, or <paramref name="affinity" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PositionAffinity" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapUpToBuffer(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.ITextBuffer)">
      <summary>Maps a span in the current snapshot of some buffer that is a member of the buffer graph to a sequence of spans in a snapshot of a designated buffer.</summary>
      <returns>A collection of zero or more snapshot spans in the top buffer to which the span maps.</returns>
      <param name="span">A span in some buffer in the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</param>
      <param name="trackingMode">How <paramref name="span" /> is tracked to the current snapshot if necessary.</param>
      <param name="targetBuffer">The buffer to which to map.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" />.Snapshot is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapUpToFirstMatch(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.PointTrackingMode,System.Predicate{Microsoft.VisualStudio.Text.ITextSnapshot},Microsoft.VisualStudio.Text.PositionAffinity)">
      <summary>Maps a position in the current snapshot of some buffer that is a member of the buffer graph to a snapshot of some buffer that is selected by a predicate.</summary>
      <returns>The corresponding position in a snapshot of the matching buffer, or null if does not map to the matching buffer.</returns>
      <param name="point">A point in some buffer in the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</param>
      <param name="trackingMode">How <paramref name="point" /> is tracked to the current snapshot if necessary.</param>
      <param name="match">The predicate that identifies the target buffer.</param>
      <param name="affinity">If the mapping is ambiguous (the position is on a source span seam), determines whether the mapping should target the position immediately after the preceding character or immediately before the following character in the top buffer.This setting has no effect if the mapping is unambiguous.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="point" />.Snapshot or <paramref name="match" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PointTrackingMode" />, or <paramref name="affinity" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PositionAffinity" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapUpToFirstMatch(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SpanTrackingMode,System.Predicate{Microsoft.VisualStudio.Text.ITextSnapshot})">
      <summary>Maps a span in the current snapshot of some buffer that is a member of the buffer graph up to a sequence of spans in a snapshot of some buffer that is selected by a predicate.</summary>
      <returns>A collection of zero or more snapshot spans in the top buffer to which the span maps.</returns>
      <param name="span">A span in some buffer in the buffer graph.</param>
      <param name="trackingMode">How <paramref name="span" /> is tracked to the current snapshot if necessary.</param>
      <param name="match">The predicate that identifies the target buffer.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" />.Snapshot or <paramref name="match" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapUpToSnapshot(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.PointTrackingMode,Microsoft.VisualStudio.Text.PositionAffinity,Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Maps a position in the current snapshot of a buffer that is a member of the buffer graph to the specified snapshot.</summary>
      <returns>The corresponding position in <paramref name="targetSnapshot" />, or null if the position does not map to <paramref name="targetSnapshot" /> using this graph.</returns>
      <param name="point">A point in some buffer in the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</param>
      <param name="trackingMode">How <paramref name="point" /> is tracked to the current snapshot if necessary.</param>
      <param name="affinity">If the mapping is ambiguous (the position is on a source span seam), determines whether the mapping should target the position immediately after the preceding character or immediately before the following character in the top buffer.This setting has no effect if the mapping is unambiguous.</param>
      <param name="targetSnapshot">The snapshot to which to map.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="point" />.Snapshot is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PointTrackingMode" />, or <paramref name="affinity" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.PositionAffinity" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraph.MapUpToSnapshot(Microsoft.VisualStudio.Text.SnapshotSpan,Microsoft.VisualStudio.Text.SpanTrackingMode,Microsoft.VisualStudio.Text.ITextSnapshot)">
      <summary>Maps a span in the current snapshot of a buffer that is a member of the buffer graph to a sequence of spans in a snapshot of a designated buffer.</summary>
      <returns>A collection of zero or more snapshot spans in <paramref name="targetSnapshot" /> to which the span maps using this graph.</returns>
      <param name="span">A span in some buffer in the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</param>
      <param name="trackingMode">How <paramref name="span" /> is tracked to the current snapshot if necessary.</param>
      <param name="targetSnapshot">The snapshot to which to map.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="span" />.Snapshot is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="trackingMode" /> is not a valid <see cref="T:Microsoft.VisualStudio.Text.SpanTrackingMode" />.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IBufferGraph.TopBuffer">
      <summary>Gets the top text buffer in the buffer graph.</summary>
      <returns>The top text buffer in the buffer graph.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.IBufferGraphFactoryService">
      <summary>Creates a buffer graph from a graph of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects created by projection.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IBufferGraphFactoryService.CreateBufferGraph(Microsoft.VisualStudio.Text.ITextBuffer)">
      <summary>Initializes a new instance of an <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" /> for the specified <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</returns>
      <param name="textBuffer">The <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> for which to create the <see cref="T:Microsoft.VisualStudio.Text.Projection.IBufferGraph" />.</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.IElisionBuffer">
      <summary>A restricted projection buffer that has exactly one source buffer. Spans from the source buffer must appear in the same order in the projection buffer as in the source buffer.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.CurrentSnapshot">
      <summary>Gets the current snapshot of this elision buffer.</summary>
      <returns>The current snapshot of this elision buffer.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.ElideSpans(Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Hides the text designated in the specified spans.</summary>
      <returns>A newly generated snapshot.</returns>
      <param name="spansToElide">The spans of text to hide with respect to the current snapshot of the source buffer. It is not an error if some of the designated text is already hidden. These spans are converted to <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeExclusive" /> tracking spans.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="spansToElide" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">The end of the final span in <paramref name="spansToElide" /> is greater than the length of the current snapshot of the <see cref="P:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.SourceBuffer" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.ExpandSpans(Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Expands the text specified by the specified spans.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" />.</returns>
      <param name="spansToExpand">The spans of text to expand, with respect to the current snapshot of the source buffer. It is not an error if some of the designated text is already expanded.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="spansToExpand" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">The end of the final spans in <paramref name="spansToExpand" /> is greater than the length of the current snapshot of the <see cref="P:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.SourceBuffer" />.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.ModifySpans(Microsoft.VisualStudio.Text.NormalizedSpanCollection,Microsoft.VisualStudio.Text.NormalizedSpanCollection)">
      <summary>Modifies the exposed text by hiding <paramref name="spansToElide" /> and then expanding the specified spans in a single transaction.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" />.</returns>
      <param name="spansToElide">The spans of text to hide with respect to the current snapshot of the source buffer. It is not an error if some of the designated text is already hidden. These spans are converted to <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeExclusive" /> tracking spans. This parameter may be null.</param>
      <param name="spansToExpand">The spans of text to expand, with respect to the current snapshot of the source buffer.It is not an error if some of the designated text is already expanded. This parameter may be null.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">The end of the final spans in <paramref name="spansToElide" /> or <paramref name="spansToExpand" /> is greater than the length of the current snapshot of the <see cref="P:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.SourceBuffer" />.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.Options">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.Projection.ElisionBufferOptions" /> in effect for this <see cref="T:Microsoft.VisualStudio.Text.Projection.IElisionBuffer" />.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Projection.ElisionBufferOptions" /> in effect for this <see cref="T:Microsoft.VisualStudio.Text.Projection.IElisionBuffer" />.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.SourceBuffer">
      <summary>Gets the source buffer of this elision buffer.</summary>
      <returns>The source buffer of this elision buffer.</returns>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.Projection.IElisionBuffer.SourceSpansChanged">
      <summary>Occurs when there are changes to the set of hidden spans.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.IElisionSnapshot">
      <summary>A snapshot from an <see cref="T:Microsoft.VisualStudio.Text.Projection.IElisionBuffer" /> object.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IElisionSnapshot.MapFromSourceSnapshotToNearest(Microsoft.VisualStudio.Text.SnapshotPoint)">
      <summary>Maps from a snapshot point in the source buffer to the corresponding point in the elision snapshot. </summary>
      <returns>A position in the elision snapshot.</returns>
      <param name="point">The snapshot point in a source buffer to map.</param>
      <exception cref="T:System.ArgumentException">
        <paramref name="point" /> does not belong to the source snapshot of this elision snapshot.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IElisionSnapshot.SourceSnapshot">
      <summary>Gets the text snapshot on which this elision snapshot is based.</summary>
      <returns>The text snapshot on which this elision snapshot is based.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IElisionSnapshot.TextBuffer">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.Projection.IElisionBuffer" /> of which this is a snapshot.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Projection.IElisionBuffer" /> of which this is a snapshot.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer">
      <summary>A text buffer that contains projections of other text buffers, composed of a list of tracking spans of those buffers. The buffers that contribute to the projection buffer are called source buffers, and the tracking spans that describe the contributed regions are called source spans.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer.DeleteSpans(System.Int32,System.Int32)">
      <summary>Deletes a sequence of source spans from the projection buffer.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" />.</returns>
      <param name="position">The position at which to begin deleting spans.</param>
      <param name="spansToDelete">The number of spans to delete.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the number of spans -or-<paramref name="spansToDelete" /> is less than zero or <paramref name="position" /> + <paramref name="spansToDelete" /> is greater than the number of spans.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer.InsertSpan(System.Int32,Microsoft.VisualStudio.Text.ITrackingSpan)">
      <summary>Inserts a tracking span into the list of source spans.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" />.</returns>
      <param name="position">The position at which to insert <paramref name="spanToInsert" />.</param>
      <param name="spanToInsert">The span to insert.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="spanToInsert" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the number of spans.</exception>
      <exception cref="T:System.ArgumentException">
        <paramref name="spanToInsert" /> would cause a duplicated projection, or <paramref name="spanToInsert" /> is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeInclusive" /> and does not cover its entire buffer, or is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgePositive" /> and does not abut the end of its buffer, or is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeNegative" /> and does not abut the beginning of its buffer. (These checks are not performed if the projection buffer was created with the <see cref="F:Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions.PermissiveEdgeInclusiveSourceSpans" /> option.)Or: adding the text buffer containing <paramref name="spanToInsert" /> would create a cycle among a set of projection buffers.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer.InsertSpan(System.Int32,System.String)">
      <summary>Inserts a literal string into the list of source spans.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" />.</returns>
      <param name="position">The position at which to insert <paramref name="literalSpanToInsert" />.</param>
      <param name="literalSpanToInsert">The string to insert.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="literalSpanToInsert" /> is null. These checks are not performed if the projection buffer was created with the <see cref="F:Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions.PermissiveEdgeInclusiveSourceSpans" /> option.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the number of spans.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer.InsertSpans(System.Int32,System.Collections.Generic.IList{System.Object})">
      <summary>Inserts a list of <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> objects and/or literal strings into the list of source spans in the order in which they appear in the list.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" />.</returns>
      <param name="position">The position at which to insert the spans.</param>
      <param name="spansToInsert">The list of spans to insert.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="spansToInsert" /> is null or a span in that list is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the number of spans.</exception>
      <exception cref="T:System.ArgumentException">An element of <paramref name="spansToInsert" /> is neither an <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> nor a string.-or-A span in <paramref name="spansToInsert" /> would cause a duplicated projection.-or-A tracking span in <paramref name="spansToInsert" /> is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeInclusive" /> and does not cover its entire buffer, or is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgePositive" /> and does not abut the end of its buffer, or is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeNegative" /> and does not abut the beginning of its buffer.These checks are not performed if the projection buffer was created with the <see cref="F:Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions.PermissiveEdgeInclusiveSourceSpans" /> option.-or-Adding one of the text buffers containing any of the <paramref name="spansToInsert" /> would create a cycle among a set of projection buffers.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer.ReplaceSpans(System.Int32,System.Int32,System.Collections.Generic.IList{System.Object},Microsoft.VisualStudio.Text.EditOptions,System.Object)">
      <summary>Replaces a sequence of source spans with a new list of <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> objects and/or literal strings.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" />.</returns>
      <param name="position">The position at which to begin replacing spans.</param>
      <param name="spansToReplace">The number of spans to replace.</param>
      <param name="spansToInsert">The new spans to insert.</param>
      <param name="options">Options to apply to the span edit.</param>
      <param name="editTag">An object that will be associated with this edit transaction.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="spansToInsert" /> is null or a span in the list are null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the number of spans.-or-<paramref name="spansToReplace" /> is less than zero or <paramref name="position" /> + <paramref name="spansToReplace" /> is greater than the number of spans.</exception>
      <exception cref="T:System.ArgumentException">An element of <paramref name="spansToInsert" /> is neither an <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> nor a string.-or-A span in <paramref name="spansToInsert" /> would cause a duplicated projection.-or-A tracking span in <paramref name="spansToInsert" /> is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeInclusive" /> and does not cover its entire buffer, or is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgePositive" /> and does not abut the end of its buffer, or is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeNegative" /> and does not abut the beginning of its buffer.(These checks are not performed if the projection buffer was created with the <see cref="F:Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions.PermissiveEdgeInclusiveSourceSpans" />.)-or-Adding a text buffer containing one of the <paramref name="spansToInsert" /> would create a cycle among a set of projection buffers.</exception>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer.SourceBuffersChanged">
      <summary>Raised when source buffers are added or deleted by virtue of the addition or deletion of source spans. This event is raised before the <see cref="E:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer.SourceSpansChanged" /> event is raised.</summary>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer.SourceSpansChanged">
      <summary>Raised when source spans are added or deleted. </summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.IProjectionBufferBase">
      <summary>A text buffer that contains projections of other text buffers, composed of a list of text spans of those buffers. The other buffers that contribute to the projection buffer are called source buffers, and the text spans that describe the contributed regions are called source spans.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IProjectionBufferBase.CurrentSnapshot">
      <summary>Gets the current snapshot of the contents of the projection buffer.</summary>
      <returns>The current snapshot of the contents of the projection buffer.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBufferBase.Delete(Microsoft.VisualStudio.Text.Span)">
      <summary>Deletes a span of characters from the buffer.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" />.</returns>
      <param name="deleteSpan">The span of characters to delete.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="deleteSpan" />.The end of the span is greater than the length of the buffer.</exception>
      <exception cref="T:System.InvalidOperationException">A <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> is currently active.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBufferBase.Insert(System.Int32,System.String)">
      <summary>Inserts the specified text at the specified position in the <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" />.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" />.</returns>
      <param name="position">The buffer position at which the first character of the text will appear.</param>
      <param name="text">The text to be inserted.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="text" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than the length of the buffer.</exception>
      <exception cref="T:System.InvalidOperationException">A <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> is currently active.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBufferBase.Replace(Microsoft.VisualStudio.Text.Span,System.String)">
      <summary>Replaces a span of characters with different text. This is equivalent to first deleting the text to be replaced and then inserting the new text.</summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" />.</returns>
      <param name="replaceSpan">The span of characters to replace.</param>
      <param name="replaceWith">The new text.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="replaceWith" /> is null.</exception>
      <exception cref="T:System.ArgumentOutOfRangeException">The end of <paramref name="replaceSpan" /> span is greater than the length of the buffer.</exception>
      <exception cref="T:System.InvalidOperationException">A <see cref="T:Microsoft.VisualStudio.Text.ITextEdit" /> is currently active.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IProjectionBufferBase.SourceBuffers">
      <summary>Gets the set of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects that directly contribute to the projection buffer.</summary>
      <returns>The set of <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects that directly contribute to the projection buffer.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.IProjectionBufferFactoryService">
      <summary>Used to create projection buffers.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBufferFactoryService.CreateElisionBuffer(Microsoft.VisualStudio.Text.Projection.IProjectionEditResolver,Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection,Microsoft.VisualStudio.Text.Projection.ElisionBufferOptions)">
      <summary>Creates an elision buffer with the default projection <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> and initialized to the specified list of snapshot spans from a single source buffer.</summary>
      <returns>A non-null elision buffer.</returns>
      <param name="projectionEditResolver">The conflict resolver for this <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />. May be null.</param>
      <param name="exposedSpans">The set of spans (from a single source buffer) that are initially exposed in the elision buffer.</param>
      <param name="options">Options for this buffer.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="exposedSpans" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBufferFactoryService.CreateElisionBuffer(Microsoft.VisualStudio.Text.Projection.IProjectionEditResolver,Microsoft.VisualStudio.Text.NormalizedSnapshotSpanCollection,Microsoft.VisualStudio.Text.Projection.ElisionBufferOptions,Microsoft.VisualStudio.Utilities.IContentType)">
      <summary>Create an elision buffer initialized to expose the provided list of snapshot spans from a single source buffer.</summary>
      <returns>A non-null elision buffer.</returns>
      <param name="projectionEditResolver">The conflict resolver for this <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />. May be null.</param>
      <param name="exposedSpans">The set of spans (from a single source buffer) that are initially exposed in the elision buffer.</param>
      <param name="options">Options for this buffer.</param>
      <param name="contentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> for the new <see cref="T:Microsoft.VisualStudio.Text.Projection.IElisionBuffer" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="contentType" /> is null.-or-<paramref name="exposedSpans" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBufferFactoryService.CreateProjectionBuffer(Microsoft.VisualStudio.Text.Projection.IProjectionEditResolver,System.Collections.Generic.IList{System.Object},Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions)">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> object with the default projection <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> and the specified list of source spans.</summary>
      <returns>A non-null projection buffer.</returns>
      <param name="projectionEditResolver">The conflict resolver for this <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />. May be null.</param>
      <param name="sourceSpans">The initial set of source spans for the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</param>
      <param name="options">Options for this buffer.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sourceSpans" /> or any of its elements is null.</exception>
      <exception cref="T:System.ArgumentException">An element of <paramref name="sourceSpans" /> is neither a string nor an <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.-or-A tracking span in <paramref name="sourceSpans" /> is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeInclusive" />  and does not cover its entire buffer, or is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgePositive" /> and does not abut the end of its buffer, or is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeNegative" /> and does not abut the beginning of its buffer.-or-Any of the tracking spans in <paramref name="sourceSpans" /> overlap.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionBufferFactoryService.CreateProjectionBuffer(Microsoft.VisualStudio.Text.Projection.IProjectionEditResolver,System.Collections.Generic.IList{System.Object},Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions,Microsoft.VisualStudio.Utilities.IContentType)">
      <summary>Creates an <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> object with a specified <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> and the specified list of <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" /> objects and/or literal strings.</summary>
      <returns>A non-null projection buffer.</returns>
      <param name="projectionEditResolver">The conflict resolver for this <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />. May be null.</param>
      <param name="sourceSpans">The initial set of source spans for the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</param>
      <param name="options">Options for this buffer.</param>
      <param name="contentType">The <see cref="T:Microsoft.VisualStudio.Utilities.IContentType" /> for the new <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="sourceSpans" /> or any of its elements is null.</exception>
      <exception cref="T:System.ArgumentException">An element of <paramref name="sourceSpans" /> is neither a string nor an <see cref="T:Microsoft.VisualStudio.Text.ITrackingSpan" />.-or-A tracking span in <paramref name="sourceSpans" /> is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeInclusive" />  and does not cover its entire buffer, or is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgePositive" /> and does not abut the end of its buffer, or is <see cref="F:Microsoft.VisualStudio.Text.SpanTrackingMode.EdgeNegative" /> and does not abut the beginning of its buffer.These checks are not performed if the projection buffer was created with the <see cref="F:Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions.PermissiveEdgeInclusiveSourceSpans" /> option.)-or-Some of the tracking spans in <paramref name="sourceSpans" /> overlap.</exception>
    </member>
    <member name="E:Microsoft.VisualStudio.Text.Projection.IProjectionBufferFactoryService.ProjectionBufferCreated">
      <summary>Raised when any <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> or <see cref="T:Microsoft.VisualStudio.Text.Projection.IElisionBuffer" /> is created.</summary>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IProjectionBufferFactoryService.ProjectionContentType">
      <summary>Gets the default content type for projection buffers.</summary>
      <returns>The default content type for projection buffers.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.IProjectionEditResolver">
      <summary>Allows the creator of a projection buffer to control behavior of certain edits to the buffer.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionEditResolver.FillInInsertionSizes(Microsoft.VisualStudio.Text.SnapshotPoint,System.Collections.ObjectModel.ReadOnlyCollection{Microsoft.VisualStudio.Text.SnapshotPoint},System.String,System.Collections.Generic.IList{System.Int32})">
      <summary>When text is inserted into the projection buffer at the projection insertion point, determine how many characters of the insertion text are to be inserted into the source buffer at each source insertion point. </summary>
      <param name="projectionInsertionPoint">The insertion point in the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</param>
      <param name="sourceInsertionPoints">The list of insertion points in the source buffers (of length two or more).</param>
      <param name="insertionText">The text to be split between the insertion points.</param>
      <param name="insertionSizes">Filled in by the callee; the number of characters in the <paramref name="insertionText" /> to be inserted into the corresponding source insertion point.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionEditResolver.FillInReplacementSizes(Microsoft.VisualStudio.Text.SnapshotSpan,System.Collections.ObjectModel.ReadOnlyCollection{Microsoft.VisualStudio.Text.SnapshotSpan},System.String,System.Collections.Generic.IList{System.Int32})">
      <summary>When text at the projection replacement span is replaced in a projection buffer, determine how many characters of the insertion text are to be inserted into the source buffer at each source insertion point (which are the Start points of the <paramref name="sourceReplacementSpans" />).</summary>
      <param name="projectionReplacementSpan">The span of text that is to be replaced in the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</param>
      <param name="sourceReplacementSpans">The spans of text that are to be replaced in the source buffers (of length two or more).</param>
      <param name="insertionText">The text to be split among the replacement spans.</param>
      <param name="insertionSizes">Filled in by the callee; the number of characters in the <paramref name="insertionText" /> to be inserted into the corresponding source replacement span.</param>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionEditResolver.GetTypicalInsertionPosition(Microsoft.VisualStudio.Text.SnapshotPoint,System.Collections.ObjectModel.ReadOnlyCollection{Microsoft.VisualStudio.Text.SnapshotPoint})">
      <summary>When a position in the projection buffer lies on a source buffer seam, determine which source insertion point would receive a typical insertion.</summary>
      <returns>An integer between 0 and <paramref name="sourceInsertionPoints" />.Length - 1.</returns>
      <param name="projectionInsertionPoint">The insertion point in the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</param>
      <param name="sourceInsertionPoints">The list of insertion points in the source buffers (of length two or more).</param>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot">
      <summary>An immutable text snapshot that represents a state of an <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />. </summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.GetMatchingSnapshot(Microsoft.VisualStudio.Text.ITextBuffer)">
      <summary>Gets the snapshot of the specified text buffer that corresponds to this snapshot.</summary>
      <returns>The snapshot of the text buffer, or null if <paramref name="textBuffer" /> is not a text buffer of this projection buffer.</returns>
      <param name="textBuffer">The text buffer.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="textBuffer" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.GetSourceSpans">
      <summary>Gets all the source spans for the projection snapshot.</summary>
      <returns>A read-only collection of source spans of the projection snapshot, listed in the order they have in the projection snapshot.</returns>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.GetSourceSpans(System.Int32,System.Int32)">
      <summary>Gets a read-only collection of source snapshot spans starting at the specified location of the span. </summary>
      <returns>A read-only collection of <see cref="T:Microsoft.VisualStudio.Text.SnapshotSpan" /> objects that are sources of the projection snapshot.</returns>
      <param name="startSpanIndex">The position at which to start getting snapshot spans. This is an index into the collection of source spans, not into the characters in the text buffer.</param>
      <param name="count">The number of spans to get.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="startSpanIndex" /> is less than zero or greater than the number of spans.-or-<paramref name="count" /> is less than zero or <paramref name="count" /> plus <paramref name="startSpanIndex" /> is greater than of the number of spans.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.MapFromSourceSnapshot(Microsoft.VisualStudio.Text.SnapshotPoint,Microsoft.VisualStudio.Text.PositionAffinity)">
      <summary>Maps from a snapshot point in one of the source snapshots to the corresponding position in the projection snapshot.</summary>
      <returns>A position in the projection snapshot, or null if the source point does not correspond to text belonging to a span that is a member of the projection snapshot.</returns>
      <param name="point">The snapshot point in a source buffer.</param>
      <param name="affinity">If the mapping is ambiguous (the position lies between two source spans), this parameter affects the mapping as follows:if <paramref name="affinity" /> is <see cref="F:Microsoft.VisualStudio.Text.PositionAffinity.Predecessor" />, the mapping targets the position immediately after the preceding character in the projection bufferif <paramref name="affinity" /> is <see cref="F:Microsoft.VisualStudio.Text.PositionAffinity.Successor" />, the mapping targets the position immediately before the following character in the projection buffer This parameter has no effect if the mapping is unambiguous.</param>
      <exception cref="T:System.ArgumentException">
        <paramref name="point" /> does not belong to a source snapshot of this projection snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.MapFromSourceSnapshot(Microsoft.VisualStudio.Text.SnapshotSpan)">
      <summary>Maps a snapshot span of a source buffer to a list of spans of the projection snapshot. </summary>
      <returns>A non-null list of spans. The list will be empty if none of the positions in <paramref name="span" /> are projected by a source span of the projection snapshot.</returns>
      <param name="span">The snapshot span in a source buffer to map.</param>
      <exception cref="T:System.ArgumentException">
        <paramref name="span" /> does not belong to a source buffer of this projection buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.MapToSourceSnapshot(System.Int32)">
      <summary>Maps a position in the projection snapshot to the corresponding position in a source snapshot. </summary>
      <returns>An <see cref="T:Microsoft.VisualStudio.Text.SnapshotPoint" />.</returns>
      <param name="position">The position in the projection snapshot.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than or equal to the length of the snapshot.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.MapToSourceSnapshot(System.Int32,Microsoft.VisualStudio.Text.PositionAffinity)">
      <summary>Maps a position in the projection snapshot to the corresponding position in a source snapshot.</summary>
      <returns>A snapshot point in one of the source snapshots.</returns>
      <param name="position">The position in the projection snapshot .</param>
      <param name="affinity">If the mapping is ambiguous (the position lies on a source span seam), this parameter affects the mapping as follows:if <paramref name="affinity" /> is <see cref="F:Microsoft.VisualStudio.Text.PositionAffinity.Predecessor" />, the mapping targets the position immediately after the preceding character in the projection bufferif <paramref name="affinity" /> is <see cref="F:Microsoft.VisualStudio.Text.PositionAffinity.Successor" />, the mapping targets the position immediately before the following character in the projection buffer.This parameter has no effect if the mapping is unambiguous.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than or equal to the length of the snapshot.</exception>
      <exception cref="T:System.InvalidOperationException">The projection snapshot has no source spans.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.MapToSourceSnapshots(Microsoft.VisualStudio.Text.Span)">
      <summary>Maps a span of the current projection snapshot to a list of snapshot spans belonging to source snapshots. The resulting spans will be ordered by the order of their appearance in the projection.</summary>
      <returns>A non-empty list of snapshot spans.</returns>
      <param name="span">The span in the projection snapshot.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="span" /> is not valid for this buffer.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.MapToSourceSnapshots(System.Int32)">
      <summary>Maps a position in the projection snapshot to the corresponding position in one or more source snapshots.</summary>
      <returns>A read-only collection of snapshot points to which the position maps. This collection contains one snapshot point unless the position lies on a source span seam, in which case it can contain two or more points.</returns>
      <param name="position">The position in the projection snapshot.</param>
      <exception cref="T:System.ArgumentOutOfRangeException">
        <paramref name="position" /> is less than zero or greater than or equal to the length of the snapshot.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.SourceSnapshots">
      <summary>Gets the set of one or more text snapshots that contribute source spans to this projection snapshot. </summary>
      <returns>The set of one or more text snapshots that contribute source spans to this projection snapshot.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.SpanCount">
      <summary>Gets the number of source spans in the projection snapshot.</summary>
      <returns>The number of source spans in the projection snapshot.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot.TextBuffer">
      <summary>Gets the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBufferBase" /> of which this is a snapshot.</summary>
      <returns>The <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBufferBase" /> of which this is a snapshot.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot2">
      <summary>Provides more methods for projection snapshots.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot2.GetMatchingSnapshotInClosure(Microsoft.VisualStudio.Text.ITextBuffer)">
      <summary>Computes the snapshot of the <paramref name="targetBuffer" /> that is a contributor to this snapshot. If <paramref name="targetBuffer" /> is not in the source closure of this snapshot, return null.</summary>
      <returns>The resulting text snapshot.</returns>
      <param name="targetBuffer">The target buffer.</param>
      <exception cref="T:System.ArgumentNullException">If <paramref name="targetBuffer" /> is null.</exception>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot2.GetMatchingSnapshotInClosure(System.Predicate{Microsoft.VisualStudio.Text.ITextBuffer})">
      <summary>For each snapshot in the source closure of this snapshot, call the <paramref name="match" /> predicate on the corresponding text buffer, and return the first source snapshot for which it returns true. The order in which the source snapshots are visited is undefined.</summary>
      <returns>The resulting text snapshot.</returns>
      <param name="match">The predicate for matching.</param>
      <exception cref="T:System.ArgumentNullException">if <paramref name="match" /> is null.</exception>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions">
      <summary>Represents the options that apply to <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> objects.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions.None">
      <summary>No special treatment.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions.PermissiveEdgeInclusiveSourceSpans">
      <summary>Do not perform certain consistency checks on edge-inclusive source spans.</summary>
    </member>
    <member name="F:Microsoft.VisualStudio.Text.Projection.ProjectionBufferOptions.WritableLiteralSpans">
      <summary>Allow source spans that are string literals to be edited.</summary>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.ProjectionSourceBuffersChangedEventArgs">
      <summary>Provides information for an edit transaction on a <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> in which the set of source <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects has changed.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.ProjectionSourceBuffersChangedEventArgs.#ctor(Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot,Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot,System.Collections.Generic.IList{Microsoft.VisualStudio.Text.ITrackingSpan},System.Collections.Generic.IList{Microsoft.VisualStudio.Text.ITrackingSpan},System.Int32,System.Collections.Generic.IList{Microsoft.VisualStudio.Text.ITextBuffer},System.Collections.Generic.IList{Microsoft.VisualStudio.Text.ITextBuffer},Microsoft.VisualStudio.Text.EditOptions,System.Object)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.Projection.ProjectionSourceBuffersChangedEventArgs" /> object.</summary>
      <param name="beforeSnapshot">The most recent <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" /> before the change occurred.</param>
      <param name="afterSnapshot">The <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" /> immediately after the change occurred.</param>
      <param name="insertedSpans">Zero or more source spans that were inserted into the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</param>
      <param name="deletedSpans">Zero or more source spans that were deleted from the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</param>
      <param name="spanPosition">The position in the list of source spans at which the buffer changes occurred.</param>
      <param name="addedBuffers">The list of added source <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects.</param>
      <param name="removedBuffers">The list of removed source <see cref="T:Microsoft.VisualStudio.Text.ITextBuffer" /> objects.</param>
      <param name="options">The edit options that were applied to this change.</param>
      <param name="editTag">An arbitrary object associated with this change.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="insertedSpans" /> or <paramref name="deletedSpans" /> or<paramref name="addedBuffers" /> or <paramref name="removedBuffers" /> is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ProjectionSourceBuffersChangedEventArgs.AddedBuffers">
      <summary>Gets the source buffers that were added to the projection buffer.</summary>
      <returns>The source buffers that were added to the projection buffer.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ProjectionSourceBuffersChangedEventArgs.RemovedBuffers">
      <summary>Gets the source buffers that were removed and no longer contribute spans to the projection buffer.</summary>
      <returns>The source buffers that were removed and no longer contribute spans to the projection buffer.</returns>
    </member>
    <member name="T:Microsoft.VisualStudio.Text.Projection.ProjectionSourceSpansChangedEventArgs">
      <summary>Provides information for the <see cref="E:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer.SourceSpansChanged" /> event.</summary>
    </member>
    <member name="M:Microsoft.VisualStudio.Text.Projection.ProjectionSourceSpansChangedEventArgs.#ctor(Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot,Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot,System.Collections.Generic.IList{Microsoft.VisualStudio.Text.ITrackingSpan},System.Collections.Generic.IList{Microsoft.VisualStudio.Text.ITrackingSpan},System.Int32,Microsoft.VisualStudio.Text.EditOptions,System.Object)">
      <summary>Initializes a new instance of a <see cref="T:Microsoft.VisualStudio.Text.Projection.ProjectionSourceSpansChangedEventArgs" />.</summary>
      <param name="beforeSnapshot">The most recent <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" /> before the change occurred.</param>
      <param name="afterSnapshot">The <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionSnapshot" /> immediately after the change occurred.</param>
      <param name="insertedSpans">Zero or more source spans that were inserted into the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</param>
      <param name="deletedSpans">Zero or more source spans that were deleted from the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" />.</param>
      <param name="spanPosition">The position at which the span changes occurred.</param>
      <param name="options">The edit options that were applied to this change.</param>
      <param name="editTag">An arbitrary object associated with this change.</param>
      <exception cref="T:System.ArgumentNullException">
        <paramref name="beforeSnapshot" />, <paramref name="afterSnapshot" />, <paramref name="insertedSpans" />, or <paramref name="deletedSpans" />is null.</exception>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ProjectionSourceSpansChangedEventArgs.After">
      <summary>Gets the state of the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> after the change occurred.</summary>
      <returns>The state of the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> after the change occurred</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ProjectionSourceSpansChangedEventArgs.Before">
      <summary>Gets the state of the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> before the change occurred.</summary>
      <returns>The state of the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> before the change occurred.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ProjectionSourceSpansChangedEventArgs.DeletedSpans">
      <summary>Gets the set of source spans that were deleted from the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> by this edit transaction.</summary>
      <returns>The set of source spans that were deleted from the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> by this edit transaction.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ProjectionSourceSpansChangedEventArgs.InsertedSpans">
      <summary>Gets the set of source spans that were inserted into the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> by this edit transaction.</summary>
      <returns>The set of source spans that were inserted into the <see cref="T:Microsoft.VisualStudio.Text.Projection.IProjectionBuffer" /> by this edit transaction.</returns>
    </member>
    <member name="P:Microsoft.VisualStudio.Text.Projection.ProjectionSourceSpansChangedEventArgs.SpanPosition">
      <summary>Gets the position in the list of source spans at which the change occurred.</summary>
      <returns>The position in the list of source spans at which the change occurred.</returns>
    </member>
  </members>
</doc>