Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vs-editor-api.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/Editor/Text/Def/TextLogic/DifferenceBuffer/IDifferenceBuffer2.cs')
-rw-r--r--src/Editor/Text/Def/TextLogic/DifferenceBuffer/IDifferenceBuffer2.cs39
1 files changed, 26 insertions, 13 deletions
diff --git a/src/Editor/Text/Def/TextLogic/DifferenceBuffer/IDifferenceBuffer2.cs b/src/Editor/Text/Def/TextLogic/DifferenceBuffer/IDifferenceBuffer2.cs
index ebfecb6..6370508 100644
--- a/src/Editor/Text/Def/TextLogic/DifferenceBuffer/IDifferenceBuffer2.cs
+++ b/src/Editor/Text/Def/TextLogic/DifferenceBuffer/IDifferenceBuffer2.cs
@@ -9,22 +9,35 @@ namespace Microsoft.VisualStudio.Text.Differencing
public interface IDifferenceBuffer2 : IDifferenceBuffer
{
/// <summary>
- /// The source of the left buffer in the difference. Can be set to null.
+ /// True if the BaseLeftBuffer can never change. If false, the BaseLeftBuffer can change (via setting the InnerLeftDataModel) and
+ /// can be null.
/// </summary>
- new ITextBuffer BaseLeftBuffer { get; set; }
+ bool HasFixedBaseLeftBuffer { get; }
- event EventHandler<BufferChangedEventArgs> BaseLeftBufferChanged;
- }
+ /// <summary>
+ /// Raised whenever the <see cref="IDifferenceBuffer.BaseLeftBuffer"/> is changed to a different buffer.
+ /// </summary>
+ event EventHandler<BaseLeftBufferChangedEventArgs> BaseLeftBufferChanged;
- public class BufferChangedEventArgs : EventArgs
- {
- public BufferChangedEventArgs(ITextBuffer oldBuffer, ITextBuffer newBuffer)
- {
- this.OldBuffer = oldBuffer;
- this.NewBuffer = newBuffer;
- }
+ /// <summary>
+ /// The <see cref="ITextDataModel"/> for the BaseLeftBuffer. This can be created even if <see cref="IDifferenceBuffer.BaseLeftBuffer"/> is null.
+ /// </summary>
+ ITextDataModel LeftDataModel { get; }
+
+ /// <summary>
+ /// The <see cref="ITextDataModel"/> actual ITextDataModel for the BaseLeftBuffer. This value is only meaningful if <see cref="HasFixedBaseLeftBuffer"/> is
+ /// false. Set InnerLeftDataModel to null to set the difference buffer's BaseLeftBuffer to null.
+ /// </summary>
+ ITextDataModel InnerLeftDataModel { get; set; }
- public ITextBuffer OldBuffer { get; }
- public ITextBuffer NewBuffer { get; }
+ /// <summary>
+ /// The <see cref="ITextDataModel"/> for the right buffer.
+ /// </summary>
+ ITextDataModel RightDataModel { get; }
+
+ /// <summary>
+ /// The <see cref="ITextDataModel"/> for the inline buffer. This can be created even if <see cref="IDifferenceBuffer.BaseLeftBuffer"/> is null.
+ /// </summary>
+ ITextDataModel InlineDataModel { get; }
}
}