Mono.TextEditor.TextDocument.GetLineByOffset C# (CSharp) Method

GetLineByOffset() public method

public GetLineByOffset ( int offset ) : Mono.TextEditor.DocumentLine
offset int
return Mono.TextEditor.DocumentLine
		public DocumentLine GetLineByOffset (int offset)
		{
			return splitter.GetLineByOffset (offset);
		}
		

Usage Example

        // todo: move to version control backend
        IEnumerable <Conflict> Conflicts(Mono.TextEditor.TextDocument doc)
        {
            int mergeStart = 0;

            while ((mergeStart = doc.IndexOf("<<<<<<<", mergeStart, doc.TextLength - mergeStart, StringComparison.Ordinal)) >= 0)
            {
                DocumentLine start = doc.GetLineByOffset(mergeStart);
                if (start.Offset != mergeStart)
                {
                    continue;
                }
                int          dividerOffset = doc.IndexOf("=======", mergeStart, doc.TextLength - mergeStart, StringComparison.Ordinal);
                DocumentLine divider       = doc.GetLineByOffset(dividerOffset);

                int          endOffset = doc.IndexOf(">>>>>>>", dividerOffset, doc.TextLength - dividerOffset, StringComparison.Ordinal);
                DocumentLine end       = doc.GetLineByOffset(endOffset);
                mergeStart = dividerOffset + 1;

                yield return(new Conflict(new TextSegment(start.EndOffsetIncludingDelimiter, divider.Offset - start.EndOffsetIncludingDelimiter),
                                          new TextSegment(divider.EndOffsetIncludingDelimiter, end.Offset - divider.EndOffsetIncludingDelimiter),
                                          start,
                                          divider,
                                          end));
            }
        }
All Usage Examples Of Mono.TextEditor.TextDocument::GetLineByOffset
TextDocument