3
using System.Collections.Generic;
5
namespace Mono.TextEditor
7
public interface ILineSplitter
11
IEnumerable<LineSegment> Lines { get; }
16
/// Initializes the splitter with a new text. No events are fired during this process.
18
/// <param name="text"></param>
19
void Initalize (string text);
21
LineSegment Get (int number);
22
LineSegment GetLineByOffset (int offset);
23
int OffsetToLineNumber (int offset);
25
void TextReplaced (object sender, ReplaceEventArgs args);
26
void TextRemove (int offset, int length);
27
void TextInsert (int offset, string text);
29
IEnumerable<LineSegment> GetLinesBetween (int startLine, int endLine);
30
IEnumerable<LineSegment> GetLinesStartingAt (int startLine);
31
IEnumerable<LineSegment> GetLinesReverseStartingAt (int startLine);
33
event EventHandler<LineEventArgs> LineChanged;
34
event EventHandler<LineEventArgs> LineInserted;
35
event EventHandler<LineEventArgs> LineRemoved;