public override IEnumerable <LineSpan> GetModified() { if (Nearest != null) { while (Modified.Remove(Nearest)) { } Nearest.Highlight = true; Modified.Add(Nearest); Modified.AddRange(Nearest.LinkedLines); Nearest = null; } return(Modified); }
public override void AddLine(LineSpan line, bool willUpdateImmediately) { bool isTouching = false; if (line.FirstLine - 1 == LineNumber || line.LastLine + 1 == LineNumber) { isTouching = true; } if (line.Highlight != isTouching) { line.Highlight = isTouching; if (!willUpdateImmediately) { Modified.Add(line); } Modified.AddRange(line.LinkedLines); } }
public override void AddLine(LineSpan line, bool willUpdateImmediately) { if (line.FirstLine <= LineNumber && LineNumber <= line.LastLine && (line.LastLine - line.FirstLine >= MinimumLength || line.LinkedLines.Any()) && line.Indent <= Position && (Nearest == null || line.Indent > Nearest.Indent)) { Nearest = line; } if (line.Highlight) { line.Highlight = false; if (!willUpdateImmediately) { Modified.Add(line); } Modified.AddRange(line.LinkedLines); } }
public override void AddLine(LineSpan line, bool willUpdateImmediately) { bool isTouching = false; if (line.FirstLine - 1 <= LineNumber && LineNumber <= line.LastLine + 1 && line.LastLine - line.FirstLine >= MinimumLength && line.Indent == Position) { isTouching = true; } if (line.Highlight != isTouching) { line.Highlight = isTouching; if (!willUpdateImmediately) { Modified.Add(line); } Modified.AddRange(line.LinkedLines); } }