コード例 #1
0
        internal static SnapshotSpan CreateSpanFromSwix(this ITextSnapshot snapshot, int swixLine, int swixColumnStart, int?swixColumnEnd)
        {
            int lineNumber  = swixLine;
            int columnStart = swixColumnStart;
            int columnEnd;

            if (swixColumnEnd.HasValue)
            {
                columnEnd = swixColumnEnd.Value;
            }
            else
            {
                // If there's no end value, we have to check for column -1 and end-of-file conditions.
                bool setColumnStart = false;
                if (columnStart == -1 || lineNumber >= snapshot.LineCount)
                {
                    lineNumber     = Math.Min(lineNumber - 1, snapshot.LineCount - 1);
                    setColumnStart = true;
                }

                ITextSnapshotLine line = snapshot.GetLineFromLineNumber(lineNumber);

                if (setColumnStart)
                {
                    columnStart = line.Length - 1;
                }
                columnEnd = line.Length;
            }

            return(snapshot.CreateSpan(lineNumber, columnStart, columnEnd));
        }
コード例 #2
0
        internal static ITrackingSpan CreateTrackingSpan(this ITextSnapshot snapshot, IRangeProvider rangeProvider, SpanTrackingMode trackingMode = SpanTrackingMode.EdgeExclusive)
        {
            SnapshotSpan span = snapshot.CreateSpan(rangeProvider);

            return(snapshot.CreateTrackingSpan(span, trackingMode));
        }
コード例 #3
0
        internal static ITrackingSpan CreateTrackingSpan(this ITextSnapshot snapshot, CompilerMessage message, SpanTrackingMode trackingMode = SpanTrackingMode.EdgeExclusive)
        {
            SnapshotSpan span = snapshot.CreateSpan(message);

            return(snapshot.CreateTrackingSpan(span, trackingMode));
        }
コード例 #4
0
 internal static SnapshotSpan CreateSpan(this ITextSnapshot snapshot, IRangeProvider rangeProvider)
 {
     return(snapshot.CreateSpan(rangeProvider.Range));
 }
コード例 #5
0
 internal static SnapshotSpan CreateSpan(this ITextSnapshot snapshot, CompilerMessage message)
 {
     return(snapshot.CreateSpan(message.Range));
 }