protected override int?GetLineNumber(ITextViewLine viewLine, ref LineNumberState state) { if (owner == null) { return(null); } CustomLineNumberState customState; if (state == null) { state = customState = new CustomLineNumberState(); } else { customState = (CustomLineNumberState)state; } if (state.SnapshotLine == null || state.SnapshotLine.EndIncludingLineBreak != viewLine.Start) { state.SnapshotLine = viewLine.Start.GetContainingLine(); } else { state.SnapshotLine = state.SnapshotLine.Snapshot.GetLineFromLineNumber(state.SnapshotLine.LineNumber + 1); } return(owner.GetLineNumber(viewLine, state.SnapshotLine, ref customState.State)); }
protected override int? GetLineNumber(ITextViewLine viewLine, ref LineNumberState state) { if (owner == null) return null; CustomLineNumberState customState; if (state == null) state = customState = new CustomLineNumberState(); else customState = (CustomLineNumberState)state; if (state.SnapshotLine == null || state.SnapshotLine.EndIncludingLineBreak != viewLine.Start) state.SnapshotLine = viewLine.Start.GetContainingLine(); else state.SnapshotLine = state.SnapshotLine.Snapshot.GetLineFromLineNumber(state.SnapshotLine.LineNumber + 1); return owner.GetLineNumber(viewLine, state.SnapshotLine, ref customState.State); }