public void RemoveLine(int lineNum) { LineMaskPair res = lines.FirstOrDefault((p) => (p.lineNum == lineNum)); if (res != null) { lines.Remove(res); RaiseTagChangedEvent(lineNum); } }
public void RaiseTagChangedEvent(int lineNum, uint newLineStatus) { LineMaskPair res = lines.FirstOrDefault((p) => (p.lineNum == lineNum)); if (res != null) { res.lineMask = newLineStatus; RaiseTagChangedEvent(lineNum); } }
IEnumerable <ITagSpan <ChartPointTag> > ITagger <ChartPointTag> .GetTags(NormalizedSnapshotSpanCollection spans) { foreach (SnapshotSpan span in spans) { ITextSnapshotLine line = span.Start.GetContainingLine(); int firstLineNum = line.LineNumber; int lastLineNum = span.End.GetContainingLine().LineNumber; for (int i = firstLineNum; i <= lastLineNum; ++i) { LineMaskPair res = lines.FirstOrDefault((p) => (p.lineNum - 1 == firstLineNum)); if (res != null) { yield return(new TagSpan <ChartPointTag>(new SnapshotSpan(line.Start, 0), new ChartPointTag(res.lineMask))); } } } }