public TextRange ApplyTo(TextRange range, out bool updated)
        {
            bool startUpdated, endUpdated;
            var start = ApplyTo(range.Start, false, out startUpdated);
            var end = ApplyTo(range.End, true, out endUpdated);

            updated = startUpdated || endUpdated;
            return updated ? new TextRange(start, end) : range;
        }
 public TextRange ApplyTo(TextRange range)
 {
     bool updated;
     return ApplyTo(range, out updated);
 }
 public HighlightRange(TextBuffer buffer, TextRange range)
 {
     this.Buffer = buffer;
     this.Range = range;
 }
 public abstract HighlightRange AddHighlightRange(TextRange range);
            public override HighlightRange AddHighlightRange(TextRange range)
            {
                var highlightRange = new HighlightRange(this.formatter.Buffer, range);

                this.formatter.highlightRanges.Add(highlightRange);
                this.changed = true;
                return highlightRange;
            }
 public TextEditorTextRangeProvider(TextEditor editor, TextRange range)
 {
     this.editor = editor;
     this.range = range;
 }