public void Draw(TextView textView, DrawingContext drawingContext) { foreach (DocumentLine line in _editor.Document.Lines) { string lineText = _editor.Document.GetText(line.Offset, line.Length); if (LineHelper.IsSectionHeaderLine(lineText)) { TextSegment segment = new TextSegment { StartOffset = line.Offset, EndOffset = line.EndOffset }; Pen border = new Pen(new SolidColorBrush(Color.FromRgb(220, 220, 220)), 0.5); foreach (Rect rect in BackgroundGeometryBuilder.GetRectsForSegment(textView, segment, true)) { drawingContext.DrawLine(border, new Point(rect.Location.X, rect.Location.Y), new Point(textView.ActualWidth, rect.Location.Y)); } } } }
private static ErrorLine FindErrorsInLine(TextDocument document, DocumentLine line, string lineText, bool commandSectionCheckRequired) { if (LineHelper.IsSectionHeaderLine(lineText)) { return(FindErrorsInSectionHeaderLine(line, lineText)); } else { if (commandSectionCheckRequired && LineHelper.IsLineInStandardStringSection(document, line)) { return(null); } else if (commandSectionCheckRequired && LineHelper.IsLineInNGStringSection(document, line)) { return(FindErrorsInNGStringLine(line, lineText)); } else { return(FindErrorsInCommandLine(document, line, lineText, commandSectionCheckRequired)); } } }